Geraint Thomas took two stage victories on his way to becoming the third Briton to win the Tour de France.

The Welshman became the first man since Toni Rominger in 1993 to win back-to-back mountain top stages as he raised his arms in La Rosiere and Alpe d’Huez in the middle week of the Tour.

Here Press Association Sport runs through the full list of those who were able to celebrate a stage win this year.

Stage 1: Noirmoutier-en-l’Ile to Fontenay-le-Comte (201km)

Fernando Gaviria (Quick-Step Floors)

You cannot do much better than winning your debut Tour de France stage. Gaviria, 23, threatens to dominate sprints for many years to come and made the point as he became the first man to win his debut stage of the Tour since Fabian Cancellara in 2004.

Stage 2: Mouilleron-Saint-Germain to La Roche-sur-Yon (182.5km)

Peter Sagan (Bora-Hansgrohe)

A big crash in the final two kilometres left just a handful of riders to contest the sprint on a slight uphill drag into La Roche-sur-Yon, and world champion Sagan had the power to hold off Sonny Colbrelli and take over in yellow.

Stage 3: Cholet to Cholet (35.5km team time trial)

Team BMC

BMC pipped Team Sky to victory in the team time trial by four seconds to put Olympic champion Greg Van Avermaet into yellow – a jersey he would hold for eight days.

Stage 4: La Baule to Sarzeau (195km)

Fernando Gaviria (Quick-Step Floors)

Gaviria doubled up in the third sprint stage of the Tour as he held off Sagan on the line in Sarzeau.

Stage 5: Lorient to Quimper (204.5km)

Peter Sagan (Bora-Hansgrohe)

Another uphill sprint came down to Sagan and Colbrelli and once again Sagan had too much power in his legs for the Italian, stretching his early advantage in the points classification he would go on to dominate.

Stage 6: Brest to Mur-de-Bretagne (181km)

Dan Martin (UAE Team Emirates)

Martin’s second career Tour stage victory – and first since 2013 – came on ideal territory for the Irishman as he beat Pierre Latour to the line at the top of the short, steep Mur-de-Bretagne, a climb which gave the general classification a proper shake up too.

Stage 7: Fougeres to Chartres (231km)

Dylan Groenewegen (LottoNL-Jumbo)

The depth of the sprint field was shown again as a third man claimed stage honours inside the opening week of the Tour. The Dutchman had the power to overcome Gaviria and Sagan despite the slight uphill drag in Chartres.

Stage 8: Dreux to Amiens (181km)

Dylan Groenewegen (LottoNL-Jumbo)

Gaviria and Andre Greipel would both be relegated for irregular sprinting, but only after they had already been beaten by Groenewegen, who doubled up in style.

Stage 9: Arras to Roubaix (156.5km)

John Degenkolb (Trek-Segafredo)

At the end of the eventful cobbled stage to Roubaix, Degenkolb’s first career Tour win was a cathartic moment for the German. The 29-year-old was involved in an horrific training accident in 2016 and had been fighting to prove he could compete at the highest level again.

Stage 10: Annecy to Le Grand-Bornand (158.5km)

Julian Alaphilippe (Quick-Step Floors)

Alaphilippe delivered the first French stage win of the Tour – and the first of his career – as he attacked out of a large breakaway on the Col de Romme, sparking a successful bid to win the polka-dot jersey as King of the Mountains.

Stage 11: Albertville to La Rosiere (108.5km)

Geraint Thomas (Team Sky)

Thomas took the yellow jersey a day later than expected but did it in style as he attacked the group of favourites on the way into the ski resort of La Rosiere. Thomas’ intention was purely to pick up time but as he spotted Mikel Nieve up ahead, he realised his former team-mate’s bid for a solo win was faltering and a further dig gave Thomas a second career Tour stage win.

Stage 12: Bourg-Saint-Maurice to Alpe d’Huez (175.5km)

Geraint Thomas (Team Sky)

Thomas stamped his authority on the race as the man in form with victory on one of its most famous climbs. Having stuck on the wheels of Tom Dumoulin, Romain Bardet and Chris Froome all the way up the climb, Thomas attacked out of the final corner for memorable win.

Stage 13: Bourg d’Oisans to Valence (169.5km)

Peter Sagan (Bora-Hansgrohe)

Sagan’s third stage win came by a wheel length over Alexander Kristoff, with both overhauling Arnaud Demare in the final metres. The sprint field had been decimated over the previous two days with Greipel, Gaviria, Groenewegen, Mark Cavendish and Marcel Kittel all eliminated in the Alps.

Stage 14: Saint-Paul-Trois-Chateaux to Mende (188km)

Omar Fraile (Astana)

Jesper Stuyven’s 35km solo breakaway was thwarted as Fraile caught him 500 metres from the top of the steep climb to the aerodrome in Mende and raced away to victory.

Stage 15: Millau to Carcassonne (181.5km)

Magnus Cort Nielsen (Astana)

Another day, another Astana breakaway win. This time a huge group went clear on the road to Carcassonne but it splintered on the Pic de Nore climb, and Nielsen had the sprint to beat Jon Izagirre and Bauke Mollema.

Stage 16: Carcassonne to Bagneres-de-Luchon (218km)

Julian Alaphilippe (Quick-Step Floors)

Adam Yates attempted to solo off the top of the Col du Portillon but crashed on the descent into Bagneres-de-Luchon with Alaphilippe chasing him down. It was a dramatic finish to a stage which had seen riders affected by pepper spray after police broke up a farmer’s protest on the route.

Stage 17: Bagneres-de-Luchon to Col du Portet (65km)

Nairo Quintana (Movistar)

Quintana failed to fire in the fight for yellow but gained some redemption by soloing to victory on the climb to the Col du Portet. The Colombian followed an attack launched at the foot of the climb by Dan Martin but then proved too strong for the Irishman.

Stage 18: Trie-sur-Baise to Pau (171km)

Arnaud Demare (Groupama-FDJ)

The sprint field was further hit before this penultimate chance for the quick men, with Sagan crashing heavily on stage 17. Though the Slovakian continued he was in no condition to sprint, and there was instead a rare French 1-2 with Demare beating Christophe Laporte of Cofidis.

Stage 19: Lourdes to Laruns (200.5km)

Primoz Roglic (LottoNL-Jumbo)

Former junior ski jump world champion Roglic attacked on the descent of the Col du Aubisque to win this final mountain stage and temporarily dislodge Chris Froome from third place overall – though Froome would take the place back a day later.

Stage 20: Saint-Pee-sur-Nivelle to Espelette (31km individual time trial)

Tom Dumoulin (Team Sunweb)

The world time trial champion was always favourite for this stage, particularly as there was the prospect of snatching yellow if he could put significant time into Thomas. Dumoulin’s win was narrow – just one second from Froome and 14 seconds from Thomas – but while yellow eluded him, the Dutchman delighted in a third career Tour stage win.

Stage 21: Houilles to Paris (116km)

Alexander Kristoff (UAE Team Emirates)

This Tour was notable for its wide-open sprint field and a fifth different quick man added his name to the stage winners’ list in Paris as Alexander Kristoff claimed his first Tour stage win since 2014.