Two-time Tour winner Pogacar, whose title hopes evaporated when he was crushed by Vingegaard in Tuesday's time trial and cracked in Wednesday's last Alpine stage, claimed victory on the day after 133.5 kilometres from Belfort, outsprinting Austrian Felix Gall for his second win in this year's race.
"I'm so happy to win my second Tour, it was the big goal of my season. It's really amazing, I want to thank my team, they've done so well and it's really nice that I could finish it off," Vingegaard told a news conference.
"The Tour de France is something so special, I'll probably try to win it again next year."
Italian Giulio Ciccone secured the polka dot jersey for the mountains classification and Belgian Jasper Philipsen is set to win the green jersey for the points classification, providing that they both cross the finish line in Paris on Sunday.
"After such a hard week I felt like myself on the bike today. I was feeling great. I tried to go solo but I could not so it had to be a sprint," said Pogacar.
Pogacar attacked on the last climb of the day, the Col du Platzerwazel, and was followed by Vingegaard and Gall.
The trio quickly caught French pair Thibaut Pinot and Warren Barguil and Briton Tom Pidcock and dropped them before battling it out for the stage win after being rejoined by the Yates twins, Simon and Adam.
Enormously popular local boy Pinot, riding his last Tour, had thousands of fans gathered with flags, beers and flares to support him one last time.
He went solo on the ascent to the Petit Ballon, riding as stage leader through a sea of roaring fans like a man possessed. Although he did not have the legs to take it all the way to the line, the Groupama-FDJ rider finished seventh after a spine-tingling day on the bike.
"I really enjoyed it, I had a big pinch on my heart, it's the roads where I train, it was crazy," said Pinot, third in the 2014 Tour de France and by far the country's most popular rider.
"I did not think it would move me that much, I feel like I've closed a chapter in my history - it's stronger than I thought."
Simon Yates is set to finish fourth overall after he leapfrogged Spain's Carlos Rodriguez, who sustained cuts on his elbow and above his eyebrow, and a bruise on his chin when he crashed on a descent.
American Sepp Kuss, Vingegaard's key lieutenant in the mountains, also crashed and slipped out of the top 10.