Ukrainian soldiers have been welcomed into city of Kherson by jubilant residents, after Russia said it had fully withdrawn from the key southern city.
Video showed locals on the streets, flying Ukraine’s national flag and chanting as Kyiv’s troops arrived.
Some sang patriotic songs around a large campfire well into the night.
Kherson was the only regional capital taken by Russia after February’s invasion. The retreat has been seen as one of the biggest setbacks of the war.
Moscow said 30,000 personnel had been taken out of the area – as well as around 5,000 pieces of military hardware, weaponry and other assets.
The White House hailed what it called an “extraordinary victory”, while Ukrainian President Zelensky called it a “historic day”.
But Ukraine’s foreign minister said the “war goes on”. Speaking in Cambodia on the sidelines of a summit of Asian countries, Dmytro Kuleba said: “We are winning battles on the ground. But the war continues.”
An evening update on Friday from the Ukrainian side said troops had pushed as far forwards as the western bank of the Dnipro river.
Images also emerged showing that the main river crossing – the Antonivsky Bridge – had partially collapsed. It remains unclear how the damage was caused.
The Russian troops who occupied Kherson are thought to be taking up new positions on the eastern side of the river.
A Kherson resident described his “overwhelming” emotions as people emerged singing and dancing onto the streets.
Alexei Sandakov revealed his full name to the BBC, having previously referred to himself only as “Jimmy”. He said Kherson was “free now. It’s different. Everyone is crying since this morning”.
He added that “everybody wanted to embrace” the arriving Ukrainian soldiers.
The city’s change of control followed a rapid Ukrainian counter-offensive in recent months, in which Kyiv said it had recaptured 41 settlements near Kherson.
In his evening address, President Zelensky said the people of Kherson “were waiting” and “never gave up on Ukraine”.
He added that residents had been working to remove “any traces of the occupiers’ stay” from the streets, including Russian symbols.
Meanwhile, a spokesman for Russian President Vladimir Putin denied the move represented a humiliating defeat.
Russia’s withdrawal from Kherson was announced on Wednesday by the country’s commander in Ukraine, who said it was no longer possible to supply the city.
Although there was little evidence of any Russian retreat on Thursday, Ukraine claimed advances of up to 7km on two axes as its troops pushed forwards.
Events continued to move quickly on Friday. Initial reports that the Russians had abandoned Kherson came from locals.
Crowds of flag-waving civilians were later filmed in Freedom Square, greeting Kyiv’s soldiers and chanting: “Glory to the Armed Forces of Ukraine!”
On Friday afternoon, Alexei Sandakov appeared to be still adapting to the new situation on the ground, commenting: “No-one is going to sleep tonight.”
The local television service in Kherson was also reconnected to Ukrainian broadcasts.