The handover, confirmed by the two countries' foreign ministries, occurred in the Black Sea off the coast of Crimea, which Russia annexed from Ukraine in 2014.
Russia seized the ships in the same area in November last year after opening fire on them and wounding several sailors. Moscow said the ships - two small Ukrainian armored artillery vessels and a tug boat - had illegally entered its territorial waters. Kiev denied that.
Russia returned the sailors who had been on board the ships to Ukraine in September as part of a prisoner exchange deal.
Various Russian media outlets reported that the ships would be returned to Ukraine on Monday without their ammunition and documentation.
Russia's Ministry of Foreign Affairs said in a statement Moscow would respond harshly in future to what it called any similar maritime "provocations" near its borders.
Ukraine's Ministry of Foreign Affairs said the three captured ships were en route to the port of Odessa.
It said that their original voyage, which Russia had interpreted as a border violation, had been peaceful and legal and that Kiev planned to pursue a case against Russia over the matter at an international arbitration panel in the Netherlands.
Despite those and other continuing tensions, the handover is likely to be seen as a confidence-building measure ahead of the planned Ukraine summit however.
The leaders of France, Germany, Russia and Ukraine will meet in Paris on Dec. 9 in an attempt to advance efforts for a peaceful resolution to the conflict in eastern Ukraine, the French presidency said on Friday.
More than 13,000 people have been killed in the more than five-year-old conflict in east Ukraine between pro-Russian separatists and Ukrainian government forces.
Relations between Ukraine and Russia collapsed following Moscow's annexation of the Crimean peninsula, which prompted Western sanctions. Ukrainian President Volodymyr Zelenskiy won a landslide election victory in April promising to end the conflict.