Postpublished at 14:44 British Summer Time 22 July 2023
55km to go
We are 1km from the top of the Col de la Schlucht so Giulio Ciccone's goal is in sight. Surely no-one will try to deny him maximum points now?
Stage 20 - 133.5km from Belfort to Le Markstein Fellering
Short, mountainous stage with six categorised climbs
Jonas Vingegaard leads Tadej Pogacar by seven minutes and 35 seconds in general classification
Final test for defending champion before race reaches Paris
Britain's Adam Yates third overall
Three minutes five seconds between third and seventh in race for podium place
Chris Bevan
55km to go
We are 1km from the top of the Col de la Schlucht so Giulio Ciccone's goal is in sight. Surely no-one will try to deny him maximum points now?
58km to go
We've got Team UAE setting the pace at the front of the peloton and they look pretty determined - as stated earlier, they want the stage win today.
At the front of the race, Giulio Ciccone has quite an incentive to be first to the top of the next climb, the category three Col de la Schlucht... if he manages that, he has got the King of the Mountans category sewn up and will join Jasper Philipsen (in green) in knowing he will have the polka dot jersey on the podium in Paris.
It's definitely helped him that no-one has contested any climbs so far today but he had to overcome a determined effort from Neilson Powless at the start of the Tour.
63km to go
Chris Harper has joined the break at the front of the race, which is up to seven riders now... actually no, make that 10, because Valentin Madouas, Rigoberto Uran and Kevin Vermaerke have also bridged the gap.
They are about 55 seconds ahead of the peloton.
68.5km to go
Five more mountain points for Giulio Ciccone at the top of the Col de Grosse Pierre, which means his lead overall is up to 21 points.
69km to go
Hang on, Thibaut Pinot has bridged the gap. Krists Neilands has been dropped though, so this is still a six-man break.
70km to go
Tom Pidcock, Giulio Ciccone, Mattias Skjelmose, Warren Barguill, Krists Neilands and Maxim van Gils are the six men in the break, who are a minute ahead of the yellow jersey group as they head up to the top of the category two Col de Grosse Pierre.
Back in the main bunch, Team UAE are setting the pace and Sepp Kuss, who crashed earlier, has been dropped. Kuss started the day ninth overall.
72km to go
Thibaut Pinot launched an attack off the front of the main bunch as they went over that summit. He's with two of his FDJ team-mates, Stefan Kung and Valentin Madouas, in a group of seven that are chasing the break that is now down to six men... Tom Pidcock still among them.
The break is 30 seconds clear of Pinot and co. The yellow jersey group is another 36 seconds back.
77km to go
Yes, Mattias Skjelmose leads Giulio Ciccone over the top and that means the Italian now has a lead of 16 points in the King of the Mountains category.
78km to go
There's only about 40 seconds between the break at the front of the race and the peloton, with attacks coming off the front of the yellow jersey bunch and a couple of riders already in between.
They are about 1km from the summit of this climb where Ciccone should hoover up more mountain points.
80km to go
Ah, good news - Carlos Rodriguez is in the yellow jersey group. I've just spotted him.
81km to go
Adam Yates, who is third overall, was marking Jai Hindley, who is seventh, with that move. Not sure what has happened to Carlos Rodriguez - he was receiving medical treatment while riding along but he is missing all these moves from riders around him in the GC.
82km to go
Lots happening on the road - a bunch of Bora-Hansgrohe riders have leapt off the front of the peloton to try to bridge the gap to the group... and Adam Yates is trying to do the same as we head up the second climb of the day, the category two Col de la Croix des Moinats.
About 4.5km to go to the top.
84km to go
Jonas Vingegaard drops back to the main bunch, leaving about a dozen riders in the escape group - much to their relief, I am guessing, because Team UAE were never going to let that break stay away with the yellow jersey in it.
Tom Pidcock is one of the escapees, along with Julian Alaphilippe and the man in the polka dot jersey, Giuulio Ciccone . They are about 30 seconds clear with Ciccone's team-mate Mads Pedersen setting a furious pace.
88km to go
Jasper Philipsen has been denied the chance to sprint for victory in the past two stages, finishing fourth each time, but assuming he survives this final test in the mountains, he will get one more go at securing his fifth stage win of this year on the Champs Elysees on Sunday.
He is also guaranteed to take the green jersey, for the winner of the points category, but another win on the Champs Elysees is what he will want, after his success last year, because there are only another 110 points available in these final two days. Mads Pedersen, who is second place, actually took 20 of them in the intermediate sprint earlier in this stage
Points leaders after today's intermediate sprint
1. Jasper Philipsen (BEL) Alpecin - Deceuninck 377 points
2. Mads Pedersen (DEN) Lidl - Trek 258
3. Bryan Coquard (FRA) Cofidis 188
4. Tadej Pogacar (SLO) UAE Team Emirates 146
5. Kasper Asgreen (DEN) Soudal - Quick-Step 125
91km to go
Ouch. The same crash as Rodriguez saw Sepp Kuss taste tarmac too - he was the next man behind Rodriguez and went right over his bike.
Kuss, a team-mate of Jonas Vingegaard on the Jumbo-Visma team, has suffered similar injuries with cuts on his face, arms and legs. He's getting medical treatment now, while he's riding on.
93km to go
Jonas Vingegaard's advantage looks commanding, doesn't it... Tadej Pogacar is pretty much a dead cert for second too, but the battle for the final podium position will be decided today.
Britain's Adam Yates is in third overall at the moment, but we are all set for a Battle Royale between him and the riders immediately below him in the General Classification.
It's all or nothing for them, basically... which is why this crash has come at such a terrible time for Carlos Rodriguez.
General classification after stage 19
1. Jonas Vingegaard (Den/Jumbo-Visma) 75hrs 49mins 24secs
2. Tadej Pogacar (Slo/UAE Team Emirates) +7min 35secs
3. Adam Yates (GB/UAE Team Emirates) +10mins 45secs
4. Carlos Rodriguez Cano (Spa/Ineos Grenadiers) +12mins 1sec
5. Simon Yates (GB/Team Jayco-AlUla) +12mins 19secs
6. Pello Bilbao (Spa/Bahrain Victorious) +12mins 50secs
7. Jai Hindley (Aus/Bora-Hansgrohe) +13mins 50secs
8. Felix Gall (Aut/AG2R) +16mins 11secs
9. Sepp Kuss (US/Jumbo-Visma) +16mins 49secs
10. David Gaudu (Fra/Groupama-FDJ) +17mins 57secs
94km to go
Carlos Rodriguez is on his own now but clawing a few seconds back, with the help of the slipstream behind his team car. Not sure that is entirely legal, but will the organisers give him some leeway after that crash?
95km to go
Carlos Rodriguez is fourth overall, so this is terrible news for him. His team-mates are dropping back to help him but he is now one minute and 30 seconds behind the main bunch.
Meanwhile at the front of the race, Jonas Vingegaard is in a break of 16 riders, that also includes Ciccone and Tom Pidcock, but no Tadej Pogacar. They are 23 seconds ahead of the main bunch.
99km to go
Julian Alaphilippe leads the race down this long descent and there's been a few splits in the bunch - there's been a crash too, and Carlos Rodriguez of Ineos Grenadiers is the man who went down... he's back on his bike but his face and arm is bleeding and he has lost quite a lot of time.
109km to go
Ciccone takes the five points and his Lidl-Trek team-mates, Mattias Skjelmose and Mads Pedersen are next over the line. Jonas Vingegaard was fifth, and didn't get any points. Felix Gall was not interested and did not get involved at all.
Result at Ballon d'Alsace
1. Giulio Ciccone, 5 pts
2. Mattias Skjelmose, 3 pts
3. Mads Pedersen, 2 pts
4. Dylan van Baarle, 1 pt