Already wearing the overall leader's yellow jersey, defending champion Tadej Pogacar overtook the last of a breakaway and his key rival Jonas Vingegaard in a last gasp burst atop a steep mountain ascent on Friday.
The Planche des Belles Filles climb is significant for Pogacar, who won his first Tour de France stage here in 2020, a win that brought him the title.
On Friday, Pogacar punished all his key rivals, except Vingegaard. Geraint Thomas lost 14sec and Adam Yates 29, as some riders dismounted and pushed up the steep finale.
Having taken the lead on Thursday, Pogacar had warned his adversaries of his intention to win what for him was an emblematic stage, and the 23-year-old led the peloton in the hunt to reel in the escapees.
The 7km-long, 9-percent gradient up La Super Planche des Belles Filles in the Vosges was the first mountain on the Tour and provided a pulsating finish.
Tadej Pogacar celebrates on the podium after winning the 7th stage of the 109th edition of the Tour de France race. AFP
The final kilometre of the ascent was over gravel, with the gradient rising to a crushing 24 percent and fans hammering deafeningly on the advertising hoardings on the roadside barriers.
The Dane Vingegaard attacked first, overtaking Lennard Kamna within 50m of the line as Pogacar followed, timing his final kick to perfection.
Primoz Roglic, the 2020 runner-up, took third place, 12 seconds behind, showing good form two days after dislocating his shoulder in a crash during the fifth stage.
He finished ahead of Kamna. Thomas finished fourth, with Frenchman Romain Bardet and Spaniard Enric Mas limiting their own losses to 21sec.
"It was so hard, I was really on the limit," said the winner. "Jonas was really strong at the end and I had to give it all. "It was important for me to win this, I know it's a lot of work, but this stage means a lot to me," said Pogacar.
Pogacar's family and girlfriend were waiting at the finish line as stewards attended to the exhausted Vingegaard, guiding his bike out of the way of the following riders.
Pogacar now leads the overall standings by 35sec from Vingegaard while Thomas is third at 1min 10sec.
This was a second straight stage win for the UAE Team Emirates leader who has won the past two editions of the Tour de France.
Former yellow jersey wearer Wout van Aert of Jumbo said the manner of Pogacar's win did not mean a third straight win for the champion was inevitable.
"I read somewhere that this Tour is already over but Jonas and Primoz are still there, so this Tour de France is not over yet," warned van Aert at the finish line.
Van Aert has won one stage and finished second on three others on this Tour. He wore the yellow jersey for two days until Wednesday evening.
"Pogacar's team set the pace today so it wasn't as easy as I had been hoping for, but this was a peaceful day for me," said Van Aert, who leads the sprint points green jersey standings by a wide margin.
Thomas's Ineos-Grenadiers team, with four riders in the top 10 overall, will be looking to blow the race open when it hits the Alps on Sunday.
"I was able to just ride my pace and relax and be ready for the last few minutes, which were hell," said 2018 champion Thomas.
Agencies