The swap between the Kiev army and rebels from the self- proclaimed Donetsk and Lugansk People's Republics took place at a checkpoint close to the town of Gorlivka, 40 kilometres (25 miles) northeast of the rebels' stronghold of Donetsk, an AFP reporter said.
In the first exchange since September 2016, the Russian- backed eastern militia was handing over to Kiev some 70 prisoners, officials from both sides said.
The Ukrainian side for its part was releasing some 300 rebels and their supporters.
The swap on the eve of the New Year and Orthodox Christmas holidays was agreed following negotiations involving Russian President Vladimir Putin and Ukraine's leader Petro Poroshenko.
More From This Section
"President Poroshenko personally coordinated all the work of all our relevant departments," lawmaker Iryna Gerashchenko, one of Ukraine's peace negotiators, said before the exchange.
The prisoner exchange is in line with the so-called Minsk agreements brokered by Germany and France in 2015.
The last prisoner swap between Ukraine and Russian-backed rebels took place in September 2016 when two pro-Kiev detainees were exchanged for four separatist fighters at a checkpoint outside the rebel-held city of Lugansk.
"I hope that the process that has begun will continue and will guarantee the establishment of a just and long-lasting peace," he said on Monday.
The head of the separatist self-proclaimed Donetsk People's Republic, Alexander Zakharchenko, thanked the patriarch for his involvement.
"People who have spent more than three years in captivity will be able to return home thanks to the church and the authorities," he said.
The war in the east of the former Soviet republic broke out in April 2014, after Russia annexed Crimea the previous month.
A series of truce deals has helped lower the level of violence but not fully end the bloodshed.