Ukrainian troops have regained control of the key eastern city of Slavyansk from pro-Russian rebels in what could mark a turning point in the country's three-month battle to maintain its independence.

The city, which houses one of Ukraine's largest weapons storage facilities, fell to the insurgents on 6 April and had become a stronghold for pro-Russian separatists.

Petro Poroshenko, who was elected president in late May after vowing to quickly resolve Ukraine's worst crisis since independence in 1991, ordered his forces to raise the national flag over the city.

"Local residents are handing over [to government forces] the weapons abandoned by the rebels," he said. "This is the disarmament I was talking about when I unveiled my peace plan for resolving the situation in the east."

Government forces began a fresh offensive against the rebels earlier this week after Poroshenko allowed a ceasefire agreement to lapse. The separatists lost one tank and one other armoured vehicles as they tried to break through Ukrainian lines, prompting them to flee Slavyansk to Kramatorsk, 12 miles south of the city.

Volodymyr Pavlenko, the self-appointed separatist mayor of Slavyansk, said: "The fighters have left. The Ukrainian army is not yet in Slavyansk. There are no authorities in the town."

Aleksandr Borodai, a leader of the self-proclaimed Donetsk People's Republic, said: "Due to the overwhelming numerical superiority of the enemy our men were forced to abandon their positions."

Kolya Cherep, a Slavyansk resident, said the departure of the fighters came as a surprise. "This morning I saw that there were no fighters in front of the town hall then I saw that there were none manning the barricades in town," she said.

Ukraine, which has lost more than 200 soldiers since the conflict began, has focused much of its military might in and around Slavyansk, which had been home to about 130,000 people. The city has been abandoned by about half its residents since fighting broke out and is largely cut off from water and power supplies.

Clashes in the economically important border regions of Lugansk and Donetsk have also escalated since the ceasefire agreement lapsed.

Poroshenko on Friday called for immediate talks with rebel commanders and Russia aimed at stemming the violence that has killed more than 470 people.

However, the president's request has yet to be confirmed by either Moscow or mediators from the Organisation for Security and Cooperation in Europe.

Kiev has balked at the idea of holding peace talks in Donetsk, where Russia maintains widespread influence, but the insurgents refuse to travel to Kiev or EU member countries for fear of being arrested.