Belgian rider Philipsen at the double on Tour de France sprint
Wout van Aert was second and Pascal Ackermann third, but Biniam Girmay kept the green sprint jersey and Tadej Pogacar stayed in the race leader's yellow after 13 stages.
The sprint was marred by a high-speed crash with 500m to go.
Alpecin rider Philipsen is regarded as the best sprinter in the peloton but has had to watch Girmay win three stages.
"I kept on believing because the feeling was good. I could start my sprint with confidence and I'm happy no one was able to pass," Philipsen said.
"This was my best feeling so far in the Tour de France, we didn't have the best start, also feeling wise, some bad luck, but I'm happy we could turn it around.
"Two stage wins is not a bad Tour."
Girmay now has 346 points to Philipsen's 271 with no real sprint stages remaining.
Slovenian veteran Primoz Roglic failed to appear at the start line Friday as his two falls in two days with the mountains looming this weekend combined to make his withdrawal inevitable.
Pogacar also took a hit when his chief climbing aide Juan Ayuso pulled out sick halfway through a stage with few great difficulties.
"Juan felt unwell during stage 12 and symptoms unfortunately worsened overnight," Team UAE doctors said.
He had been in the running for a top five slot.
Pogacar leads Remco Evenepoel by 1min 06sec and Jonas Vingegaard is third at 1min 14sec.
Portuguese Joao Almeida is fourth at 4min 10sec and Spain's Carlos Rodriguez is fifth, 10sec further behind.
Evenepoel, in the white jersey as the outstanding young rider, took the head of the peloton in a single-handed bid to split it with 50km to go, riding into the wind at 56 km/h (34.8 mph).
Pogacar rode up and joined him approvingly.
Saturday's stage takes the peloton up the feared Col du Tourmalet, 19km at an average climb of 7.5 gradient to 2,115m altitude.
Riders must then descend the Tourmalet and pedal up to Saint-Lary-Soulan Pla d'Adet, an 11km stretch at 8 percent gradient leading to the finish line.
Sunday if anything is worse with 45km of climbing and almost as much descending, culminating at the magnificent Plateau de Beille where it could become clearer as to who might win this year's race.