Race leader Geraint Thomas has three stages between him and the greatest win of his career. Saturday's time trial will favour world champion Tom Dumoulin but today won't be without problems either as he faces attacks from all sides. Team Sky will hope to shut it down and create a snoozefest, of course, but there is enough there for it to produce fireworks – if enough riders are prepared to gamble.
Geraint Thomas utilises his sprint power to come home second, securing a healthy haul of points to extend his lead. Froome follows him home, with Dumoulin in close company, meaning that Thomas just needs to negotiate tomorrow's time trial to claim a maiden Tour de France victory.
Primoz Roglic looks like he's got this one. The lead is stretched to 20 seconds with a kilometre to go, and Thomas looks like he's going to avoid any troubles.
They main group descend as one to the finish and the winner is going to come from this pack. Thomas is closing on his yellow jersey with this result...
Roglic looks so strong and he attacks again, doing enough to shed Egan Bernal but not Thomas, Dumoulin, Froome or Martin. Majka reamins out in front but only by around 15 seconds.
Now Rafal Majka has gone on a solo attack to try and win the stage, leaving Landa and Bardet behind, who are quickly being caught by Thomas, Froome Dumoulin, Roglic and the rest.
The yellow-jersey quartet of Thomas, Roglic, Kruijswijk and Dumoulin sweep up Bob Jungels and one or two others who were slipping back from the front group. Meanwhile Egan Bernal has put in an incredible shift to bring Chris Froome back into the group too, which means there are now nine riders together around 15 seconds back from the leading three – Majka, Bardet and Landa.
Dan Martin attacks, then Primoz Roglic! Chris Froome tries to close the gap for Thomas but runs out of gas and now Thomas is all alone. Can he be exposed?
The nine riders leading this race, by around 1 min 40 sec from Team Sky and the peoton: Warren Barguil (Fortuneo-Samsic), Gorka Izagirre (Bahrain-Merida), Mikel Nieve (Mitchelton-Scott), Bob Jungels (Quick-Step), Tanel Kangert (Astana), Mikel Landa (Movistar) and Rafal Majka (Bohra Hansgrohe), Ilnur Zakarin (Katusha-Alpecin) and Romain Bardet (AG2R).