Pogacar attacked on the steepest part of the 13.3km ascent to the Puy de Dome, a climb that contributed to the Tour's legend, and dropped the Danish rider to narrow Vingegaard's lead to 17 seconds on the eve of the first rest day.
It was the second time after his misfortune on the Col de Marie Blanque that Pogacar regained some ground, having already left Vingegaard behind in the ascent to Cauterets-Cambasque on Thursday.
"It's not a victory but a small victory," said Pogacar, who finished eight seconds ahead the Jumbo Visma team leader.
Michael Woods of Canada won the 182.5km ninth stage from the day's breakaway more than eight minutes ahead.
Although he has admitted fearing the heat, Pogacar looked almost effortless as temperatures reached 32 degrees Celsius on the slopes of the Puy de Dome.
"It was a relaxed day until the last climb. I could immediately feel that my legs were good but I kept it for the last 1.5km just in case," the UAE Emirates rider said.
It was with the towering peak in sight that Pogacar attacked from a small group of top guns and only Vingegaard could follow before losing his slipstream, crouched on his bike.
"When I attacked I could see his shadow and could see he was sprinting full gas so I pushed more and more until I dropped him and continued my effort until the finish line," said Pogacar.
The last four km were raced in near silence as fans and team cars were not allowed, which made for an eerie atmosphere, and Pogacar would have preferred being cheered up to the top.
"It would have been good to have spectators but it was still super, super nice," he said.
Pogacar had a brief moment of doubt but his body told me Sunday was his day.
"I was a bit scared because the guys (sports directors) were telling me it's so hard, it's so steep, but actually it did not seem too steep, we were flying uphill today," he said.
Monday is the first rest day of the Tour de France, in Clermont Ferrand.