The Russian president told crowds marking the 1945 Soviet victory over the Nazis that Crimea had shown loyalty to a “historical truth” in choosing to be part of Russia.
The Kiev government protested at the visit, calling it a “gross violation of Ukraine’s sovereignty”.
Kiev also reported that more than 20 people had died in a security operation against separatists in Mariupol.
Ukrainian Interior Minister Arsen Avakov said that about 20 pro-Russian protesters and one Ukrainian security officer had been killed in the southern port.
Ukrainian forces and pro-Russian separatists had clashed at the police headquarters, which was set on fire.
In the Crimean port of Sevastopol, Vladimir Putin thanked the armed forces for their role in World War Two and hailed the incorporation of the peninsula into the Russian Federation.
He watched a fly-by of Russian aircraft and addressed seamen on naval vessels, as crowds gathered on cliffs overlooking the harbor.
Vladimir Putin said: “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.”
He earlier addressed thousands during a huge, hour-long military parade in Moscow’s Red Square, vowing to defend the “motherland”.
Vladimir Putin told the crowd that May 9, known as Victory Day in Russia, was a “day of grief and eternal memory” and stressed how the “iron will of the Soviet people” had saved Europe from slavery.
“It is a holiday when an overwhelming force of patriotism triumphs, when all of us feel particularly acutely what it means to be loyal to the motherland and how important it is to defend its interests,” he said.
NATO’s Secretary General Anders Fogh Rasmussen said Vladimir Putin’s visit to Crimea was “inappropriate”, adding: “We consider the Russian annexation of Crimea to be illegal, illegitimate and we don’t recognize it.”
US National Security Council spokesperson Laura Magnuson said: “We do not accept Russia’s illegal annexation of Crimea. Such a visit will only serve to fuel tensions.”
Ukraine’s interim authorities held subdued memorials to mark the Soviet victory.
A brief veterans’ ceremony was held in Kiev’s main park, in front of PM Arseniy Yatsenyuk and several former presidents.
The authorities feared pro-Russian activists would try to stoke violence if there were any higher profile celebrations.
Nazi Germany invaded the USSR – which included Ukraine – in June 1941 and advanced almost as far as Moscow before being driven back to Berlin.
Crimea was put under Ukrainian administration in 1954.
After the collapse of the USSR, Russia maintained a large military presence on the peninsula, and more than half of the region’s population identified themselves as ethnic Russian.
ruQKli_2r9wThe US House Ethics Committee has voted to release its report on former Republican Representative…
ABC News has agreed to pay $15 million to President-elect Donald Trump to settle a…
South Korea’s parliament has voted to impeach President Yoon Suk Yeol over his failed attempt…
Israeli war planes have carried out more than 100 air strikes in Syria on December…
President-elect Donald Trump has threatened to impose 100% tariffs on the BRICS countries if they…
Syrian troops have withdrawn from the city of Aleppo following an offensive by rebels opposed…