After watching a military parade in the Crimean Black Sea port of Sevastopol, Mr Putin hailed the peninsula's return to Russia as a "historic truth" and said the federation had become stronger with Crimea.

"I am sure that 2014 will go into the annals of our whole country as the year when the nations living here firmly decided to be together with Russia, affirming fidelity to the historical truth and the memory of our ancestors," Mr Putin said.

"There is a lot of work ahead but we will overcome all difficulties because we are together, which means we have become stronger."

This year is also the 70th anniversary of the battle in which the Red Army won back control of the Black Sea peninsula from the Nazis.

Ukraine's government protested Mr Putin's visit to Crimea, where he inspected Russian naval forces in Sevastopol.

This provocation once again confirms that Russia deliberately seeks further escalation of tensions in Russian-Ukrainian relations and does not want to resolve problematic issues through diplomatic channels.

Statement from Ukrainian foreign ministry.

The Ukrainian foreign ministry said in a statement: "Ukraine expresses its strong protest over the unapproved May 9 visit by Russian president Vladimir Putin to the Autonomous Republic of Crimea and to Sevastopol city, which are temporarily occupied by Russia".

The foreign ministry said the visit "blatantly ignored Ukrainian legislation and international law".

"This provocation once again confirms that Russia deliberately seeks further escalation of tensions in Russian-Ukrainian relations and does not want to resolve problematic issues through diplomatic channels," the statement said.

The White House joined the condemnation saying Mr Putin's visit would only exacerbate tensions.

"We do not accept Russia's illegal annexation of Crimea. Such a visit will only serve to fuel tensions," National Security Council spokesman Laura Magnuson said.

German Chancellor Angela Merkel said earlier this week that although May 9 was an important date in Russia, the conflict in Ukraine made a parade in Crimea inappropriate.

The crisis in Ukraine has caused international concern that Russia could send in troops and seize parts of eastern Ukraine where pro-Russian separatists have taken control of several towns and key buildings in the city of Donetsk.

Ukrainian troops storm police headquarters

Meanwhile, Ukrainian forces attacked the police headquarters in the south-eastern port city of Mariupol in an attempt to drive out pro-Russian militants, and the building caught fire, according to a Ukrainian parliamentary deputy.

The deputy, Oleh Lyashko, said eight rebels had been killed in fighting. But Donetsk medical authorities said only three had been killed in fighting and 25 wounded.

Later reports had the death toll at about 20, with the Ukrainian interior minister Arsen Avokov saying an attempt by "terrorists" to storm the building had turned into a pitched battle within its walls.

Mariupol, situated in the "People's Republic" declared by local pro-Russian rebels, has been the focus of days of skirmishing between Ukrainian police and separatist gunmen.

The area is due to hold a referendum on secession on Sunday which Kiev has declared illegal.

A local photographer at the scene told Reuters the police headquarters, a three-storey stone building, was ablaze and that he had seen two bodies lying in the street outside.

"One of them is definitely a police officer," he said.

Local police in the eastern Donetsk region said they could not comment. Mr Lyashko said a Ukrainian police commander had been killed by a sniper and one had been wounded.

Tetyana Ignatchenko, a journalist in Mariupol, said there was fierce fighting outside the police headquarters.

Ukrainian forces had brought several armoured cars into the town, a major industrial and shipping centre with a population of about half a million, she said.

Local media said separatists had seized a tank in the centre of town and built barricades around the town, however the reports could not be independently verified.