Skip to main content
Come Fan with UsSaturday, June 20, 2026

Stage 12 of the Tour de France was pure cycling bliss

I won’t forget Thursday’s battle up Alpe d’Huez for a long time.

AFP/Getty Images

Alpe d’Huez didn’t disappoint. Stage 12 featured everything one could possibly want out of a Tour de France stage — a heroic solo attack, lots of punches by the general classification contenders, a winnowed group of the best climbers in the world sprinting for the line, and all of it taking place on one of the most iconic climbs in the sport.

The only issue anyone might have is the result. Geraint Thomas solidified his yellow jersey with the stage win, and thus Team Sky’s hegemony is even stronger today. Still, it’s hard not to feel happy for him. For just the second time in the last six years, someone other that Chris Froome is in position to win the yellow jersey in Paris. And no matter what Thomas might saying about riding for his teammate Froome, this has become his Tour to lose.

But Thomas wasn’t even the story of the day. There was so much to love about Stage 12, starting with Steven Kruijswijk.

Kruijswijk’s solo attack may have failed, but it was incredible to watch

Kruijswijk may not be a household name for those who only watch the Tour de France, but he was the subject of one of the most infamous moments in recent grand tour history. If he could have stayed upright on Stage 19 of the 2016 Giro d’Italia, he would have won cycling’s second biggest race and the famed Maglia Rosa, but the Dutchman overcooked a turn on a snowy descent and injured himself in a violent crash.

While riding through pain, he dropped from first place to third in the general classification, thus ending what had, to that point, been the race of his life.

Since then, Kruijswijk hasn’t come close to displaying the same form in shorter stage races, though if Thursday is an indication, he may simply be a man for the three-week Tours.

Kruijswijk’s got in the early big breakaway, and stayed with the group until the ascent up to Col de la Croix de Fer, when he began methodically time trialing his way from the group. By the time he got to the summit of the climb, he had a lead of 6’ 05” over the yellow jersey group containing Thomas, Froome, Romain Bardet, Tom Dumoulin, and the rest of the Tour’s heavy hitters.

Helped by a tailwind, Kruijswijk hit the base of Alpe d’Huez with a 4’ 18” over the yellow jersey group, and at that point his hopes had to be highest. He looked strong up the steep early slopes, and though he would lose his virtual lead on the race, but he was well within range of the stage win and a big move up the general classification.

Kruijswijk was undone by a heavyweight fight going on behind him

The yellow jersey group had dwindled to an elite group of riders with roughly 10 kilometers to go: Thomas, Froome, and Egan Bernal for Sky; Tom Dumoulin for Sunweb; Romain Bardet for AG2R, Vincenzo Nibali for Bahrain-Merida; Primož Roglic for LottoNL-Jumbo (and Kruijswijk’s teammate); Jakob Fuglsang for Astana; and Dan Martin for UAE Team Emirates.

Both Nibali and Quintana tried attacks to test the strength of the Sky cabal, but were reeled in relatively easily. But Bardet’s attack with roughly seven kilometers to the finish line stuck. Froome was finally able to bridge the Frenchman with four kilometers to go, and from there only Dumoulin, Thomas, and Nibali could catch the two.

And while all those attacks were taking place, the pace of the chase was picking up, slowly but surely swallowing the gap to Kruijswijk until with 3.5 kilometers to go, the Dutchman’s dream of a stage win was over.

With three kilometers left, the lead four riders just started throwing haymakers

Nibali ran into a race motorbike, and fell out of the lead group. It’s difficult to tell what happened, but of course fans and unnecessary flares were involved.

The accident winnowed the head of the race to just four riders: Thomas, Froome, Bardet, and Dumoulin.

Bardet then committed what he hoped would be the decisive move 2.6 kilometers to go. And the Frenchman got a gap, but he was hauled in by the scrambling trio behind him to bring the four-man group back together, setting up an unlikely small-bunch sprint finish of skinny climbing specialists.

Thomas, who had been patient throughout the final climb, rode the wheel of Dumoulin before moving his way up and eventually hit the gas with roughly 400 meters to go. Once Thomas opened up, there was no catching him. He pulled away to cross the line first, followed by Dumoulin, then Bardet, then Froome.

There was no question that we saw the best that cycling has to offer

The last two days were a bit ... disappointing. Exciting debut climbs on Stage 10 were wasted as the yellow jersey group seemed more than happy to let the breakaway win coming off a rest day. Stage 11 was a little better, but there was still a sinking feeling at the end of it that everything had nonetheless gone exactly according to Sky’s plan.

And yes, Stage 12 did go roughly according to Sky’s plan, too, but Froome and Thomas were finally put on the defensive. Froome’s own solo forays consistently failed, and Thomas, who has suffered grand tour let downs before, was given the most difficult test of his career and aced it.

But forget the color of the jerseys for a moment. Thursday’s stage was absolutely stunning on its own. Kruijswijk’s gave an effort for the ages, four of the best riders in the world brawled up a damn mountain, and when they aren’t causing trouble, the crowds on climbs like Alpe d’Huez add a level of tension and deliriousness that make stages like this pure cycling bliss. (And thank goodness, Nibali was able to catch the lead group in the end).

Yes, someone is Sky is probably going to win the Tour de France again. But I don’t think I’ll forget Stage 12 any time soon.

Results

Stage 12

1. Geraint Thomas (Sky) - 5h 18’ 37”

2. Tom Dumoulin (Sunweb) - + 2”

3. Romain Bardet (AG2R La Mondiale) - + 3”

4. Chris Froome (Sky) - + 3”

5. Mikel Landa (Movistar) - + 7”

6. Primož Roglic (LottoNL-Jumbo) - + 13”

7. Vincenzo Nibali (Bharain-Merida) - + 13”

8. Jakob Fuglsang (Astana) - + 42”

9. Nairo Quintana (Movistar) - + 47”

10. Steven Kruijswijk (LottoNL-Jumbo) - + 53”

General classification

1. Geraint Thomas (Sky) - + 49h 24’ 43”

2. Chris Froome (Sky) - + 1’ 39”

3. Tom Dumoulin (Sunweb) - + 1’ 50”

4. Vincenzo Nibali (Bahrain-Merida) - + 2’ 37”

5. Primož Roglic (LottoNL-Jumbo) - + 2’ 46”

6. Romain Bardet (AG2R La Mondiale) - + 3’ 07”

7. Mikel Landa (Movistar) - + 3’ 13”

8. Steven Kruijswijk (LottoNL-Jumbo) - + 3’ 43”

9. Nairo Quintana (Movistar) - + 4’ 13”

10. Dan Martin (UAE Team Emirates) - + 5’ 11”

See More:

More in General

GeneralFromPosting and Toasting
An SB Nation New Yorker needs our helpAn SB Nation New Yorker needs our help
GeneralFromPosting and Toasting
General
Sabastian Sawe breaks 2-hour barrier, shatters marathon world recordSabastian Sawe breaks 2-hour barrier, shatters marathon world record
General

The mythical two-hour mark was broken at the London Marathon.

By Bernd Buchmasser
A Huge Dog
THE HISTORY OF CHARGING THE MOUND, EPISODE 1THE HISTORY OF CHARGING THE MOUND, EPISODE 1
Play
General
Super Bowl 60 coin toss resultsSuper Bowl 60 coin toss results
General

The Seahawks and Patriots will open the Super Bowl with the coin toss to determine who starts with the ball. We have the full coin toss results for Super Bowl 60.

By David Fucillo
General
Marc Marquez completes a comeback for the agesMarc Marquez completes a comeback for the ages
General

MotoGP’s Marc Marquez completed a comeback for the ages with his 2025 title

By Mark Schofield
General
How to make sure SBNation.com appears in your Google search resultsHow to make sure SBNation.com appears in your Google search results