Government forces routed pro-Russian rebels in the flashpoint city in eastern Ukraine and raised the blue and yellow national flag again over what had for months been the separatist redoubt of Slaviansk.
There were no immediate casualty figures available, though Ukrainian security officials said there had been no deaths on the side of government forces.
Slaviansk has been the strongest redoubt of militants fighting government forces in mainly Russian-speaking eastern Ukraine in what has been a source of great tensions between the West and Russia.
Its re-capture represents Kiev's most notable military victory in three months of fighting in which more than 200 Ukrainian troops have been killed as well as hundreds of civilians and rebels.
Mr Poroshenko hailed the victory as a significant symbolic moment.
He said: "This is not full victory. But the clearing out of people armed to the teeth from Slaviansk has huge symbolic importance. It is the beginning of the turning point in the battle with fighters for the territorial integrity of Ukraine."
He said hostages held by separatists had been released and a significant amount of weapons seized.
But he warned the rebels were re-grouping in other big towns and he said he himself was far from euphoric.
"There are further tests ahead," he said.
Many of the hundreds of armed rebels who fled Slaviansk have gone to Donetsk, the main industrial hub in the region where separatists first declared a "people's republic" and declared their wish to join Russia.
Moscow, which has already come under economic sanctions from the West, denies Western and Kiev's accusations it has been backing the insurrection.