Vollering Seals the Tour in Nice
NICE > NICE (August 9, 2026) — Everything was set for a memorable finale in Nice, and the race delivered on that promise with a stage that evoked a “race to the sun” and crowned a deserving champion.
Demi Vollering of FDJ United-Suez won the final stage of the 2026 Tour de France Femmes avec Zwift and secured the yellow jersey, defeating her rival Katarzyna Niewiadoma-Phinney of Canyon//SRAM with an attack inside the final kilometer of the last ascent of the Col d’Èze.
The Dutch rider secured her second overall victory in the Tour de France Femmes, finishing 1 minute, 18 seconds ahead of Niewiadoma-Phinney and 4:29 ahead of Elisa Longo Borghini of UAE Team L’Imad, who moved onto the third step of the podium after Marlen Reusser of Movistar Team was dropped early in the stage and later crashed out of contention.
Antonia Niedermaier of Canyon//SRAM claimed the white jersey as the best young rider after finishing fourth overall, just ahead of Paula Blasi of UAE Team L’Imad.
In the other classifications, Lorena Wiebes of SD Worx-Protime secured the green jersey, while the polka dot jersey had already been decided in favor of Puck Pieterse of Fenix-Premier Tech. UAE Team L’Imad won the teams classification.

Vollering wins the final battle
A total of 122 riders took the start in the ninth and final stage of the 2026 Tour de France Femmes avec Zwift at 4:11 p.m. CEST, with the race reaching its conclusion in Nice on a course perfectly suited for a final showdown.
The 99.2-kilometer finale consisted of four laps of a circuit that had the summit of the Col d’Èze as its apex and the Promenade des Anglais as both its axis and culmination. With the yellow jersey and the final podium places still up for grabs, the stage promised a dramatic conclusion to the 2026 Tour.
There were four nonstarters: Alice Coutinho of Mayenne Monbana My Pie, Paula Patiño of Laboral Kutxa-Fundación Euskadi, Heidi Franz of St Michel-Preference Home-Auber93 and Valentina Cavallar of SD Worx-Protime.

Reusser crashes out of podium contention
The first ascent of the Col d’Èze, a Category 2 climb at kilometer 7.7, came almost immediately. UAE Team L’Imad set a hard tempo from the start, with Mavi García, Dominika Wlodarczyk and Maëva Squiban among those attacking.
Squiban reached the summit first with a small gap, while the pace had already reduced the peloton to about 50 riders.
Lorena Wiebes of SD Worx-Protime was still among them. She finished third in the intermediate sprint in Nice at kilometer 23.5, behind Malwina Mul of Cofidis and Paula Ostiz of Movistar Team. Ostiz had briefly opened a small gap on the peloton, but the sprint was enough for Wiebes to secure the green jersey.
The second ascent of the Col d’Èze produced an even more dramatic selection.
Zoe Backstedt of Canyon//SRAM took control of the peloton on the Category 2 climb at kilometer 33.6. Her relentless pace reduced the group to just 11 riders by the time she pulled off shortly after the summit.
The select group included Antonia Niedermaier, Katarzyna Niewiadoma-Phinney, Juliette Berthet, Demi Vollering, Paula Blasi, Dominika Wlodarczyk, Elisa Longo Borghini, Niamh Fisher-Black, Isabella Holmgren, Cédrine Kerbaol and Femke De Vries.
Notably absent was Marlen Reusser of Movistar Team.
Reusser was dropped two kilometers from the summit and then crashed on the descent. Starting the day third overall, 1 minute, 12 seconds behind Vollering and 1:53 ahead of fourth-place Longo Borghini, Reusser’s crash ended her hopes of finishing on the podium.
Holmgren attacks as the race tightens
There was more hesitation on the third ascent of the Col d’Èze, a Category 2 climb at kilometer 59.6.
That changed when Holmgren attacked 6.5 kilometers from the summit and opened a gap on the yellow-jersey group.
Berthet moved to the front and began setting the pace in an attempt to keep the Canadian rider within reach. With two kilometers remaining to the summit, Blasi attacked but quickly sat up when her team leader, Longo Borghini, began struggling to follow.
The 10-rider yellow-jersey group remained together over the summit, 1:10 behind Holmgren, who continued alone at the front.

Vollering wins the final battle
The yellow jersey and the final podium positions were still at stake on the fourth and final ascent of the Col d’Èze.
This time, the riders tackled the climb from its steeper side, known as the Chemin du Vinaigrier, or “Vinegar-maker Road.” Just eight seconds separated Vollering and Niewiadoma-Phinney at the start of the climb, and the Polish rider immediately put her teammate Niedermaier to work.

Niedermaier set a fierce pace from the bottom of the climb, putting pressure on the yellow-jersey group.
Holmgren was finally caught with four kilometers remaining. Almost immediately, Niewiadoma-Phinney attacked, with Vollering responding and staying firmly on her wheel.
Behind them, a five-rider chase formed containing Niedermaier, Blasi, Longo Borghini, Holmgren and Fisher-Black.
With 800 meters remaining to the summit, Vollering made her move.
The Dutch rider accelerated sharply and finally cracked Niewiadoma-Phinney. Vollering crested the Col d’Èze with a 15-second advantage over the Polish rider and 33 seconds over the five chasers.
From there, the Tour belonged to Vollering.
She extended her advantage on the descent toward Nice while Niewiadoma-Phinney was caught by the Longo Borghini group. Vollering arrived on the Promenade des Anglais with more than a minute in hand and raised her arms to celebrate her second consecutive stage victory and the overall Tour de France Femmes title.
Blasi led the chasers across the line.

A historic finish
Vollering became just the third rider to win the final stage of the Tour de France Femmes avec Zwift while wearing the yellow jersey, following Annemiek van Vleuten in 2022 and Pauline Ferrand-Prévot in 2025.
It was also the first time Vollering had won a Tour de France Femmes stage while wearing yellow. Before the finale, she had won five stages and worn the yellow jersey for three days.
The victory also delivered a milestone for FDJ United-Suez. Vollering’s win marked the first Tour de France Femmes stage victory for a French team.
Vollering had this to say about her win:
“I was thinking about a lot of things as I was approaching the finish line. I thought that I had never won in the Yellow Jersey before. I thought about my team, and also about Célia [Gery] who had a really rough night. I thought about how much work has gone into this victory. I thought about the people who have been behind me, working like the people from Specialized who built my new bike. The people I have around… It’s not only the dream of winning the Tour de France. It’s also the dream of living this life, of working hard along with passionate people. That’s the whole dream.”
“I told Kasia that it would be fine for me if [Elisa] Longo Borghini came back to us, trying to make her work. Then I felt I had to attack and win on my own, to make clear that we didn’t win because of an incident yesterday. That isn’t what I believe, and I wanted to make clear that we as a team deserve to win this beautiful Tour de France Femmes. We are humble, and we are proud.”
“I never have doubts on my level – not even after Mont Ventoux. I gambled a bit too much that day, and that’s sport: sometimes you win, sometimes you lose, sometimes you get it right, sometimes you make mistakes. Attacking always is the easiest approach, as Kasia did in Mont Ventoux to claim a beautiful win – and as I did today.”
“I still have a lot of dreams, on and off the bike.”
Stage 9 Highlights:


Stage 9 Results:
| 1 | D. VOLLERING | FDJ UNITED-SUEZ | 02h 44′ 43” | – | B : 10” | – |
| 2 | P. BLASI CAIROL | UAE Team L’IMAD | 02h 45′ 47” | + 00h 01′ 04” | B : 6” | – |
| 3 | K. NIEWIADOMA-PHINNEY | CANYON//SRAM | 02h 45′ 47” | + 00h 01′ 04” | B : 4” | – |
| 4 | N. FISHER-BLACK | LIDL – TREK | 02h 45′ 47” | + 00h 01′ 04” | – | – |
| 5 | A. NIEDERMAIER | CANYON//SRAM | 02h 45′ 49” | + 00h 01′ 06” | – | – |
| 6 | I. HOLMGREN | LIDL – TREK | 02h 45′ 51” | + 00h 01′ 08” | – | – |
| 7 | E. LONGO BORGHINI | UAE Team L’IMAD | 02h 45′ 47” | + 00h 01′ 04” | – | – |
| 8 | F. DE VRIES | TEAM VISMA | LEASE A BIKE | 02h 46′ 40” | + 00h 01′ 57” | – | – |
| 9 | D. WLODARCZYK | UAE Team L’IMAD | 02h 46′ 40” | + 00h 01′ 57” | – | – |
| 10 | C. KERBAOL | EF EDUCATION – OATLY | 02h 46′ 40” | + 00h 01′ 57” | – | – |
Final General Classification:
| 1 | D. VOLLERING | FDJ UNITED-SUEZ | 30h 54′ 51” | – | B : 44” | – |
| 2 | K. NIEWIADOMA-PHINNEY | CANYON//SRAM | 30h 56′ 09” | + 00h 01′ 18” | B : 22” | – |
| 3 | E. LONGO BORGHINI | UAE Team L’IMAD | 30h 59′ 10” | + 00h 04′ 19” | B : 14” | – |
| 4 | A. NIEDERMAIER | CANYON//SRAM | 31h 00′ 01” | + 00h 05′ 10” | – | – |
| 5 | P. BLASI CAIROL | UAE Team L’IMAD | 31h 01′ 04” | + 00h 06′ 13” | B : 6” | – |
| 6 | C. KERBAOL | EF EDUCATION – OATLY | 31h 01′ 32” | + 00h 06′ 41” | B : 6” | – |
| 7 | D. WLODARCZYK | UAE Team L’IMAD | 31h 02′ 44” | + 00h 07′ 53” | B : 2” | – |
| 8 | I. HOLMGREN | LIDL – TREK | 31h 04′ 03” | + 00h 09′ 12” | – | – |
| 9 | K. LE COURT PIENAAR | AG INSURANCE – SOUDAL TEAM | 31h 08′ 55” | + 00h 14′ 04” | B : 24” | – |
| 10 | N. FISHER-BLACK | LIDL – TREK | 31h 10′ 05” | + 00h 15′ 14” | – | – |
| 11 | N. VINKE | TEAM SD WORX – PROTIME | 31h 17′ 47” | + 00h 22′ 56” | – | – |
| 12 | F. DE VRIES | TEAM VISMA | LEASE A BIKE | 31h 18′ 59” | + 00h 24′ 08” | – | – |
| 13 | T. DE JONG | HUMAN POWERED HEALTH | 31h 19′ 32” | + 00h 24′ 41” | – | – |
| 14 | M. REUSSER | MOVISTAR TEAM | 31h 20′ 48” | + 00h 25′ 57” | B : 12” | – |
| 15 | J. BERTHET | FDJ UNITED-SUEZ | 31h 23′ 03” | + 00h 28′ 12” | – | – |
| 16 | N. BUIJSMAN | HUMAN POWERED HEALTH | 31h 23′ 13” | + 00h 28′ 22” | – | – |
| 17 | N. RUEGG | EF EDUCATION – OATLY | 31h 28′ 11” | + 00h 33′ 20” | – | – |
| 18 | M. VALLIERES MILL | EF EDUCATION – OATLY | 31h 31′ 09” | + 00h 36′ 18” | – | – |
| 19 | E. MORIER | ST MICHEL – PREFERENCE HOME – AUBER93 | 31h 33′ 57” | + 00h 39′ 06” | – | – |
| 20 | M. GARCIA | UAE Team L’IMAD | 31h 36′ 41” | + 00h 41′ 50” | – | – |
| 21 | C. GERY | FDJ UNITED-SUEZ | 31h 38′ 59” | + 00h 44′ 08” | – | – |
| 22 | M. SQUIBAN | UAE Team L’IMAD | 31h 40′ 36” | + 00h 45′ 45” | – | – |
| 23 | P. PIETERSE | FENIX-PREMIER TECH | 31h 46′ 34” | + 00h 51′ 43” | B : 6” | – |
| 24 | S. VAN DAM | TEAM VISMA | LEASE A BIKE | 31h 47′ 58” | + 00h 53′ 07” | – | – |
| 25 | J. GHEKIERE | AG INSURANCE – SOUDAL TEAM | 31h 48′ 06” | + 00h 53′ 15” | – | – |
| 26 | K. FAULKNER | EF EDUCATION – OATLY | 31h 48′ 53” | + 00h 54′ 02” | – | – |
| 27 | R. MARKUS | LIDL – TREK | 31h 49′ 07” | + 00h 54′ 16” | – | – |
| 28 | S. HAUGSET | UNO-X MOBILITY | 31h 49′ 17” | + 00h 54′ 26” | B : 16” | – |
| 29 | D. SILVESTRI | LABORAL KUTXA – FUNDACION EUSKADI | 31h 49′ 43” | + 00h 54′ 52” | – | – |
| 30 | A. SPRATT | LIDL – TREK | 31h 52′ 35” | + 00h 57′ 44” | – | – |
| 31 | N. GONTOVA | LIV-ALULA-JAYCO | 31h 54′ 25” | + 00h 59′ 34” | – | – |
| 32 | L. ASENCIO | MA PETITE ENTREPRISE | 31h 57′ 49” | + 01h 02′ 58” | – | – |
| 33 | S. CASASOLA | FENIX-PREMIER TECH | 32h 02′ 50” | + 01h 07′ 59” | – | – |
| 34 | S. MULLER | ST MICHEL – PREFERENCE HOME – AUBER93 | 32h 06′ 50” | + 01h 11′ 59” | – | – |
| 35 | M. BUNEL | TEAM VISMA | LEASE A BIKE | 32h 08′ 16” | + 01h 13′ 25” | – | – |
| 36 | L. BRAND | LIDL – TREK | 32h 08′ 25” | + 01h 13′ 34” | – | – |
| 37 | C. LATIMIER | MA PETITE ENTREPRISE | 32h 09′ 56” | + 01h 15′ 05” | – | – |
| 38 | G. MASETTI | Team Picnic PostNL | 32h 10′ 26” | + 01h 15′ 35” | – | – |
| 39 | K. PEREKITKO | MAYENNE MONBANA MY PIE | 32h 13′ 14” | + 01h 18′ 23” | – | – |
| 40 | L. KOPECKY | TEAM SD WORX – PROTIME | 32h 15′ 06” | + 01h 20′ 15” | B : 10” | – |
| 41 | F. KOCH | FDJ UNITED-SUEZ | 32h 18′ 04” | + 01h 23′ 13” | – | – |
| 42 | M. BENITO PELLICER | AG INSURANCE – SOUDAL TEAM | 32h 19′ 42” | + 01h 24′ 51” | – | – |
| 43 | M. KLÖSER | CANYON//SRAM | 32h 21′ 12” | + 01h 26′ 21” | – | – |
| 44 | L. LIPPERT | MOVISTAR TEAM | 32h 22′ 13” | + 01h 27′ 22” | – | – |
| 45 | O. MAHE | MA PETITE ENTREPRISE | 32h 23′ 12” | + 01h 28′ 21” | – | – |
| 46 | M. BREDEWOLD | TEAM SD WORX – PROTIME | 32h 25′ 18” | + 01h 30′ 27” | – | – |
| 47 | T. RYO | HUMAN POWERED HEALTH | 32h 25′ 18” | + 01h 30′ 27” | – | – |
| 48 | U. ŽIGART | AG INSURANCE – SOUDAL TEAM | 32h 26′ 10” | + 01h 31′ 19” | – | – |
| 49 | C. LE MOUËL | MA PETITE ENTREPRISE | 32h 27′ 58” | + 01h 33′ 07” | – | – |
| 50 | Z. BACKSTEDT | CANYON//SRAM | 32h 29′ 06” | + 01h 34′ 15” | – | – |
| 51 | P. OSTIZ | MOVISTAR TEAM | 32h 30′ 59” | + 01h 36′ 08” | – | – |
| 52 | E. MUZIC | FDJ UNITED-SUEZ | 32h 35′ 01” | + 01h 40′ 10” | – | – |
| 53 | L. NOOIJEN | TEAM VISMA | LEASE A BIKE | 32h 35′ 52” | + 01h 41′ 01” | – | – |
| 54 | M. MUL | COFIDIS WOMEN TEAM | 32h 37′ 28” | + 01h 42′ 37” | – | – |
| 55 | A. SKALNIAK-SOJKA | CANYON//SRAM | 32h 37′ 47” | + 01h 42′ 56” | – | – |
| 56 | S. PERSICO | UAE Team L’IMAD | 32h 37′ 55” | + 01h 43′ 04” | – | – |
| 57 | E. BALSAMO | LIDL – TREK | 32h 38′ 01” | + 01h 43′ 10” | B : 6” | – |
| 58 | E. COMTE | COFIDIS WOMEN TEAM | 32h 38′ 04” | + 01h 43′ 13” | – | – |
| 59 | J. KOREVAAR | LIV-ALULA-JAYCO | 32h 38′ 35” | + 01h 43′ 44” | – | – |
| 60 | L. ADEGEEST | LIDL – TREK | 32h 40′ 06” | + 01h 45′ 15” | – | – |
| 61 | A. TOWERS | EF EDUCATION – OATLY | 32h 41′ 03” | + 01h 46′ 12” | – | – |
| 62 | L. DE SCHEPPER | AG INSURANCE – SOUDAL TEAM | 32h 41′ 05” | + 01h 46′ 14” | – | – |
| 63 | L. CLAES | FENIX-PREMIER TECH | 32h 42′ 40” | + 01h 47′ 49” | – | – |
| 64 | S. SMULDERS | LIV-ALULA-JAYCO | 32h 43′ 37” | + 01h 48′ 46” | – | – |
| 65 | L. WIEBES | TEAM SD WORX – PROTIME | 32h 43′ 48” | + 01h 48′ 57” | B : 20” | – |
| 66 | Q. SCHOENS | VOLKERWESSELS CYCLING TEAM | 32h 45′ 19” | + 01h 50′ 28” | – | – |
| 67 | M. EDSETH | UNO-X MOBILITY | 32h 45′ 34” | + 01h 50′ 43” | – | – |
| 68 | N. BERTON | EF EDUCATION – OATLY | 32h 48′ 19” | + 01h 53′ 28” | – | – |
| 69 | L. WILLIAMS | HUMAN POWERED HEALTH | 32h 49′ 59” | + 01h 55′ 08” | – | – |
| 70 | U. OSTOLAZA ZABALA | LABORAL KUTXA – FUNDACION EUSKADI | 32h 50′ 02” | + 01h 55′ 11” | – | – |
| 71 | P. GEORGI | Team Picnic PostNL | 32h 52′ 11” | + 01h 57′ 20” | – | – |
| 72 | A. KOSTER | UNO-X MOBILITY | 32h 53′ 02” | + 01h 58′ 11” | – | – |
| 73 | A. KRAAK | FDJ UNITED-SUEZ | 32h 56′ 47” | + 02h 01′ 56” | – | – |
| 74 | S. PALADIN | CANYON//SRAM | 32h 56′ 58” | + 02h 02′ 07” | – | – |
| 75 | A. MAGALHAES | MOVISTAR TEAM | 32h 58′ 28” | + 02h 03′ 37” | – | – |
| 76 | L. PATERNOSTER | LIV-ALULA-JAYCO | 33h 01′ 02” | + 02h 06′ 11” | – | – |
| 77 | M. COUZENS | FENIX-PREMIER TECH | 33h 01′ 25” | + 02h 06′ 34” | – | – |
| 78 | D. HENGEVELD | TEAM VISMA | LEASE A BIKE | 33h 02′ 11” | + 02h 07′ 20” | – | – |
| 79 | L. RIEDMANN | LOTTO INTERMARCHE LADIES | 33h 02′ 46” | + 02h 07′ 55” | – | – |
| 80 | C. CIPRESSI | HUMAN POWERED HEALTH | 33h 03′ 23” | + 02h 08′ 32” | – | – |
| 81 | J. NELSON | Team Picnic PostNL | 33h 03′ 54” | + 02h 09′ 03” | – | – |
| 82 | H. CHRISTIE | EF EDUCATION – OATLY | 33h 03′ 58” | + 02h 09′ 07” | – | – |
| 83 | J. BEGO | COFIDIS WOMEN TEAM | 33h 04′ 17” | + 02h 09′ 26” | – | – |
| 84 | S. MARTIN MARTIN | MOVISTAR TEAM | 33h 05′ 35” | + 02h 10′ 44” | – | – |
| 85 | F. BARALE | MOVISTAR TEAM | 33h 05′ 48” | + 02h 10′ 57” | – | – |
| 86 | S. BOSSUYT | AG INSURANCE – SOUDAL TEAM | 33h 09′ 50” | + 02h 14′ 59” | – | – |
| 87 | R. ROSEMAN-GANNON | LIV-ALULA-JAYCO | 33h 11′ 37” | + 02h 16′ 46” | – | – |
| 88 | M. COUPLAND | LIV-ALULA-JAYCO | 33h 12′ 44” | + 02h 17′ 53” | – | – |
| 89 | M. RAAIJMAKERS | HUMAN POWERED HEALTH | 33h 12′ 58” | + 02h 18′ 07” | – | – |
| 90 | S. TAS | LOTTO INTERMARCHE LADIES | 33h 13′ 14” | + 02h 18′ 23” | – | – |
| 91 | F. MANGAN | MAYENNE MONBANA MY PIE | 33h 16′ 39” | + 02h 21′ 48” | – | – |
| 92 | Y. BIRIUKOVA | LABORAL KUTXA – FUNDACION EUSKADI | 33h 17′ 43” | + 02h 22′ 52” | – | – |
| 93 | A. DIDERIKSEN | COFIDIS WOMEN TEAM | 33h 19′ 32” | + 02h 24′ 41” | – | – |
| 94 | E. JANSEN | VOLKERWESSELS CYCLING TEAM | 33h 20′ 06” | + 02h 25′ 15” | – | – |
| 95 | M. ALLIONE | MAYENNE MONBANA MY PIE | 33h 20′ 53” | + 02h 26′ 02” | – | – |
| 96 | M. LE NET | FDJ UNITED-SUEZ | 33h 21′ 14” | + 02h 26′ 23” | – | – |
| 97 | M. EISEN | VOLKERWESSELS CYCLING TEAM | 33h 24′ 29” | + 02h 29′ 38” | – | – |
| 98 | N. QUINN | MAYENNE MONBANA MY PIE | 33h 27′ 54” | + 02h 33′ 03” | – | – |
| 99 | A. SIERRA CANADILLA | MOVISTAR TEAM | 33h 28′ 37” | + 02h 33′ 46” | – | – |
| 100 | N. ABGRALL | MA PETITE ENTREPRISE | 33h 30′ 02” | + 02h 35′ 11” | – | – |
| 101 | C. CONSONNI | CANYON//SRAM | 33h 31′ 36” | + 02h 36′ 45” | – | – |
| 102 | A. FIDANZA | LABORAL KUTXA – FUNDACION EUSKADI | 33h 31′ 44” | + 02h 36′ 53” | – | – |
| 103 | M. RIJNBEEK | VOLKERWESSELS CYCLING TEAM | 33h 32′ 34” | + 02h 37′ 43” | – | – |
| 104 | E. CECCHINI | TEAM SD WORX – PROTIME | 33h 33′ 13” | + 02h 38′ 22” | – | – |
| 105 | A. VIGILIA | UNO-X MOBILITY | 33h 33′ 13” | + 02h 38′ 22” | – | – |
| 106 | I. ERASO LASA | LABORAL KUTXA – FUNDACION EUSKADI | 33h 34′ 00” | + 02h 39′ 09” | – | – |
| 107 | C. VALENTIN | MAYENNE MONBANA MY PIE | 33h 34′ 35” | + 02h 39′ 44” | – | – |
| 108 | V. GUILMAN | COFIDIS WOMEN TEAM | 33h 35′ 32” | + 02h 40′ 41” | – | – |
| 109 | N. AMONDARAIN GAZTAÑAGA | LABORAL KUTXA – FUNDACION EUSKADI | 33h 36′ 24” | + 02h 41′ 33” | – | – |
| 110 | A. DIJKSTRA | VOLKERWESSELS CYCLING TEAM | 33h 42′ 17” | + 02h 47′ 26” | – | – |
| 111 | C. WRESZIN | ST MICHEL – PREFERENCE HOME – AUBER93 | 33h 44′ 59” | + 02h 50′ 08” | – | – |
| 112 | L. FITYUS | Team Picnic PostNL | 33h 45′ 23” | + 02h 50′ 32” | – | – |
| 113 | R. HINOJOSA CRUZ | LOTTO INTERMARCHE LADIES | 33h 48′ 33” | + 02h 53′ 42” | – | – |
| 114 | L. CLAY | Team Picnic PostNL | 33h 50′ 10” | + 02h 55′ 19” | – | – |
| 115 | M. GRIFFIN | Team Picnic PostNL | 33h 54′ 44” | + 02h 59′ 53” | – | – |

