Russia and Ukraine have exchanged prisoners in what has been described by analysts as a landmark deal.
Those freed include 24 Ukrainian sailors and – controversially – a “person of interest” over the downing of flight MH17 which killed 298 people.
The swap is hoped to ease tensions between the two neighbours.
Greeting the Ukrainians at the airport, President Volodymyr Zelensky said: “We have to do all the steps to finish this horrible war.”
Russia, on its part, said it was glad its citizens had returned home.
Relations between the two countries deteriorated dramatically in 2014, when Russia annexed Ukraine’s Crimean peninsula and Russian-backed rebels began an insurgency in two regions of eastern Ukraine.
More than 13,000 people have been killed in the conflict in Donetsk and Luhansk regions.
In April, Ukrainians elected a new president, Zelensky, who said his top priority was to end the conflict.
Russian officials have said progress towards a prisoner release is vital for improving the “atmosphere surrounding a settlement of the Ukrainian crisis”.
Negotiations on the extremely sensitive issue were held in complete secrecy, with both Ukrainian and Russian officials stressing that any leaks could derail the swap.
Russia has not yet confirmed the names of its own prisoners who were released by Ukraine. It arranged a low-profile arrival at Moscow’s Vnukovo airport, with initial reunions kept behind closed doors.