In a televised ceremony in the Kremlin, Putin signed the legal documents then received a standing ovation from lawmakers and the singing of the Russian anthem.
"Today we have a serious, momentous event. Today we are completing the legal procedures connected with the addition of Crimea and Sevastopol to Russia," Putin said.
"I want to congratulate you, all the inhabitants of the country, Russian citizens, the inhabitants of Crimea and Sevastopol on this landmark -- without any exaggeration event."
Putin signed the initial agreement on Tuesday, which then had to be ratified by the lower and upper houses of parliament in a swift formality.
The Kremlin has said that it considers Crimea part of Russia since the signing of the treaty.
The treaty creates two new Russian administrative regions: Crimea and the port city of Sevastopol where Russia's Black Sea fleet is based.
Valentina Matviyenko, speaker of the upper house of parliament, the Federation Council, vowed that a new map showing Crimea as part of Russia would be hung in its offices by Monday.
"Thank you, Vladimir Vladimirovich, for your will, for your courage, for not giving into any pressure, and I hope you felt that all the time we were with you," said Matviyenko, who is one of the Russian lawmakers to be targeted by US sanctions.
The upper house earlier on Friday voted unanimously to ratify the treaty, a day after the lower house of parliament, the Duma, ratified it with just one MP voting against.
The citizens of Crimea "clearly and unambiguously made their choice to return to the Motherland and the Motherland was waiting for them," said the speaker of the lower house of parliament, Sergei Naryshkin, who has also been blacklisted by the US.
Putin warned lawmakers: "We have a lot of work ahead on adapting Crimea to the Russian legal system, into the Russian economy, the social sphere", asking them to ensure the transition was "not only painless but beneficial to all Russia and the Crimeans."