Top officials have repeatedly claimed Mariupol was about to fall, but Ukrainian forces have stubbornly held on in the face of overwhelming odds.
A few thousand Ukrainian troops, by Moscow’s estimate, have held out for weeks at the steel plant, despite a pummeling from Russian forces and repeated demands for their surrender.
About 1,000 civilians were also trapped there, according to Ukrainian officials.
But on Thursday, as he has done before, Mr Putin seemed to shift the narrative and declared victory without taking the plant.
"The completion of combat work to liberate Mariupol is a success," he said in a joint appearance with his defence minister. "Congratulations."
Russian officials use the word "liberate" to describe areas of Ukraine they have seized..