Ukraine denied its ships had done anything wrong and accused Russia of military aggression.
Petro Poroshenko, the Ukrainian President, immediately called a meeting of his "war cabinet", according to his spokesman, raising the prospect of a new cycle of armed confrontation.
Russia seized Crimea in 2014 and strengthened its grip by building a road bridge connecting the peninsula to southern Russia across the Kerch Strait, a narrow stretch of water linking the Black Sea to the Sea of Azov, which is home to two of Ukraine's most important ports.
The result is an uneasy tension between the two countries as Russia tries to increase its control of the waters around Ukraine.
The seizure of its vessels came at the end of a day of mounting tension, beginning in the Kerch strait when three Ukrainian vessels tried to pass from the Black Sea into the Sea of Azov.
The Ukrainian Navy said a Russian border guard ship, the Don, rammed and damaged a tug boat as the flotilla approached the strait in the morning.
Shipping in both directions was later suspended when Russia moved a large cargo ship under the arch of the Kerch bridge.
Russian military ships were deployed near the bridge over the strait and military helicopters and fighter jets were seen patrolling overhead throughout in the day.
Russian state media cited Alexei Volkov, the director of the Crimean Sea Ports, saying the closure was for "safety reasons".
Ukraine's Defence Ministry accused Russia of "openly aggressive actions against Ukrainian naval ships," and said Russian helicopters had also flown on an attack course at the vessels.
Russia's FSB, which runs the country's border guards, said the Ukrainian vessels "illegally entered a temporarily closed area of Russian territorial waters" and accused Kiev of failing to notify Russia about the ships' movements in advance.
"Their aim is clear: to create a conflict situation in this region," the agency said in a statement.
The three Ukrainian vessels were being sent from the Black Sea port of Odessa to Mariupol, a key strategic port in Eastern Ukraine.
Russia has claimed waters around Crimea since it annexed the peninsula from Ukraine in 2014.
Its sovereignty over the peninsula and the surrounding waters is not recognised by Ukraine or Western countries.
Though a 2003 treaty designates the Kerch Strait and Sea of Azov as shared territorial waters, Russia has been asserting greater control over the passage since 2015.
A Nato spokeswoman called for de-escalation.
"We call on Russia to ensure unhindered access to Ukrainian ports in the Azov Sea, in accordance with international law," she said.