Norrmannen Edvald Boasson Hagen cyklade i mål som tvåa och fransmannen Bryan Coquard var trea.
Adam Yates slutade nia på etappen och behåller den gula ledartröjan. I sammandraget efter sju av 21 etapper leder britten fortsatt med tre sekunder före slovenske totaltvåan Primoz Roglic.
På lördagen fortsätter Tour de France med den åttonde etappen. En bergsetapp i Pyrenéerna i södra Frankrike, 141 kilometer från Cazères till Loudenvielle.