Dylan Groenewegen powered home to take victory at the end of a marathon seventh stage of the Tour de France.
Having not long joining Team Emirates from Quick Step, Martin dedicated the win to his new team.
Cavendish's Dimension Data team were still well placed after a double right-hander with two kilometres to go strung out the peloton, but he did not have the power needed at the top of the gradual climb to the line.
Thomas picked up two bonus seconds during the stage, and left Froome in his wake on the final climb as he rode away from the reigning champion with a group of the other favourites.
There was a blow for general classification contenders Romain Bardet of France and The Netherlands' Tom Dumoulin, with the duo suffering mechanicals in the closing kilometres.
Halfway through the stage, the AG2R-La Mondiale, Trek and Movistar teams accelerated in crosswinds and caused splits in the peloton, with Irishman Dan Martin, one of the overall contenders, trapped behind.
Pierre-Roger Latour threatened to snatch the stage victory from Martin, but the AG2R La Mondiale rider could not bridge the gap and had to settle for second.
The Welshman has been given free reign by Team Sky in the first week to race with Froome for the yellow jersey, although will be expected to revert to the role of super-domestique after the first rest day after stage nine.
AG2R'sRomain Bardet cracked in the heat of the final ascent and lost 31secs, while fellow contender Tom Dumoulin (Sunweb), the 2017 Giro d'Italia champion, lost almost a minute after suffering a mechanical problem.
Dumoulin and his Sunweb team compounded the mechanical mishap by getting a 20-second penalty when Dumoulin stayed too close to the team auto while trying to catch the pack, thereby benefiting from its draft that pulled him along.