Greg Van Avermaet went forward of the peloton from the start of the stage, with a group of three other riders. Van Avermaet proceeded to collect the early mountains points on the Muur van Geraardsbergen before returning to the peloton. The breakaway group had all returned to the peloton, before the sprint, with 70 km (43 mi) remaining. The sprint was won by Mike Teunissen.Jakob Fuglsang suffered a crash with 18 km (11 mi) remaining, and continued but required medical attention.Dylan Groenewegen and Geraint Thomas were involved in a crash in the final 2 km (1.2 mi) of the stage, with both able to continue the race.
The twenty-two teams departed at five-minute intervals between 2:30pm and 4:15pm CET.
The finishing time of Team Ineos, the first team to depart, remained the best time until the final team, Team Jumbo–Visma, completed the course. Team Jumbo–Visma averaged 57 km/h (35 mph) along the route.Groupama–FDJ's David Gaudu suffered a crash on the final corner of the course, sustaining a superficial injury.
A breakaway group of five riders, including Tim Wellens, went in front of the peloton from early in the stage. Wellens attacked the lead group at 48.5 km (30.1 mi) from the finish, on the approach to the Côte de Nanteuil-la-Fôret. The remainder of the breakaway were caught with 30 km (19 mi) remaining, while Wellens had an advantage of over a minute and a half to the peloton. Julian Alaphilippe attacked on the final climb of the day, the Côte de Mutigny, reaching Wellens at the top of the climb. Alaphilippe then continued forward, alone, for the final 15 km (9.3 mi).
A group of three riders went ahead of the peloton from early in the stage, having an advantage of around three and a half minutes with 92 km (57 mi) remaining. The peloton caught the breakaway group at 16 km (9.9 mi) from the finish. Lilian Calmejane attacked with around 10 km (6.2 mi) remaining, but was caught with 6 km (3.7 mi) to go. The race then finished with a bunch sprint.
A four-man breakaway group established itself over 20 km (12 mi) into the stage, with Tim Wellens leading the race over the first two climbs. Toms Skujiņš attacked from the lead group with 37 km (23 mi) remaining, leading the race over the Côte des Trois-Epis. The remainder of the peloton neutralised the breakaway group participants before the top of the Côte des Cinq Chateaux. Rui Costa established a short lead in the final few kilometres, being caught with 2 km (1.2 mi) to go. The stage then concluded with a bunch sprint.
The sixth stage featured the first real climbs of the Tour, entering the Vosges mountain range. The riders departed from Mulhouse heading north through Wittelsheim and Guebwiller to a sprint at Linthal. The route then headed west to the category 1 climb of Le Markstein at 1,183 m (3,881 ft) and turned east, continuing the climb into the category 3 Grand Ballon. Heading south, the riders climbed the category 2 Col du Hundstruck. The race then continued east to the category 1 Ballon d'Alsace at 1,178 m (3,865 ft), and then the category 3 Col des Croix. Continuing south, the riders climbed the category 2 Col des Chevrères, before winding south and then east, to the finish line at the category 1 climb to La Planche des Belles Filles, at 1,140 m (3,740 ft). This was the fourth ever finish at La Planche des Belles Filles, with the three previous times always resulting in the eventual overall Tour winner ending this stage in the yellow jersey.
New Zealand's Patrick Bevin did not start the stage, becoming the first rider to withdraw from the tour after X-rays revealed fractured ribs as a result of crash two days before. Later during the stage Nicolas Edet would abandon as well, due to illness.
At the start of the stage, fourteen riders quickly formed the breakaway group, including amongst others the leader of the mountains classification Tim Wellens; former stage winners Thomas De Gendt and André Greipel; and the 2019 Giro d'Italiamountains classification winner Giulio Ciccone who was also the best placed in the general classification at 1' 43" behind Julian Alaphilippe. The advantage over the peloton quickly rose to five minutes, growing to eight minutes at the foot of the Ballon d'Alsace, with Deceuninck–Quick-Step struggling to bring the peloton closer and stopping the chase altogether. Meanwhile at the front, Wellens was gathering most points for the mountains classification, occasionally helped by his teammate De Gendt. De Gendt sprinted away to take the points on the Col des Croix and took a lead of 30 seconds in the descent, but was overtaken on the next climb when the breakaway group got split up completely. Four riders remained in the lead and started the ascent of the final climb with still four minutes of advantage over the peloton: Giulio Ciccone and three Flemish riders: Wellens, Xandro Meurisse and Dylan Teuns. Ciccone and Teuns still had two minutes of advantage over the peloton with one kilometre to go, in spite of attacks from Warren Barguil and Mikel Landa in front of a chasing peloton. Teuns drove the full last km just in front of Ciccone, dropping him only in the last 100 metres to take his first Grand Tour stage win, while Meurisse managed to take third place over a minute behind. Geraint Thomas was fastest of the favorites, gaining some seconds over most other favorites and Alaphilippe. Bigger time losses were noted for Steven Kruijswijk and Enric Mas who lost over half a minute, while Vincenzo Nibali and Romain Bardet lost almost a full minute. Despite finishing second, Ciccone did manage to take over the yellow jersey from Alaphilippe by a narrow margin of only six seconds.
Stage seven was the longest stage of the tour. A two-man breakaway, comprising Stéphane Rossetto and Yoann Offredo, led from early in the stage. Tejay van Garderen and Mike Teunissen crashed after 7 km (4.3 mi) of racing, but both managed to continue. The two man-breakaway extended their lead to over four minutes, but returned to the peloton with 12 km (7.5 mi) remaining. The stage then concluded with a bunch sprint.
A quartet of riders established a five minute lead, by the intermediate sprint, at 43.5 km (27 mi) into the stage. The group contained Thomas De Gendt, Niki Terpstra, Ben King and Alessandro De Marchi. Terpstra won the intermediate sprint, and De Gendt then led the race over the first three climbs. De Gendt and De Marchi dropped the other two riders on the Côte de la Croix de Part, with 60 km (37 mi) still to race. Michael Woods, Geraint Thomas and Gianni Moscon were involved in a crash with 15 km (9.3 mi) remaining, which destroyed Moscon's bike frame, though all riders were able to continue. De Gendt attacked De Marchi with 13 km (8.1 mi) to race, having around a minute's advantage over the main group of riders. As De Marchi was caught by the main group, Julian Alaphilippe attacked and Thibaut Pinot quickly followed. The pair kept their gap over the peloton, to the finish, but failed to catch stage winner De Gendt.
Early in the stage, Alessandro De Marchi suffered a crash which required hospitalisation. A 15-strong breakaway group went ahead of the peloton before the category 1 Mur d'Aurec-sur-Loire and gained a 10-minute advantage before the intermediate sprint, which was won by Edvald Boasson Hagen. Simon Clarke and Jan Tratnik attacked the lead group with 61 km (38 mi) remaining, with some of the group chasing them down. Lukas Pöstlberger then managed to gain just under a minute's advantage, with 25 km (16 mi) still to race, but was caught and left behind on the Cote de Saint-Just by Nicolas Roche and Tiesj Benoot, 11 km (6.8 mi) later. Daryl Impey then bridged the gap to the two lead riders. With 8 km (5 mi) to go, Benoot attacked, dropping Roche, while Impey stayed with the leader. The two attackers maintained their advantage to the finish, with the fragmented breakaway group crossing the line in the following minutes, and the peloton finishing 16 minutes later.
A five-man breakaway group went ahead from early in the stage, gaining a lead of about three and a half minutes. The intermediate sprint was won by Odd Christian Eiking from the group, with the peloton closing the lead group's advantage down to a minute and a half. With 60 km (37 mi) still to race, crosswinds began to temporarily fracture the peloton. Crosswinds happened again with 35 km (22 mi) to go, but pressure from the lead section of the broken peloton ensured that a gap was maintained. The lead section of the peloton then caught the breakaway group with 25 km (16 mi) to race, while the second and a third section were at 30 seconds and a minute's disadvantage, respectively. By the last 4 km (2.5 mi), the gaps were stretched out further. Wout van Aert then won the sprint, from the lead section of the peloton.
A four-man breakaway established itself early in the stage, comprising Lilian Calmejane, Stéphane Rossetto, Anthony Perez and Aimé De Gendt. The group achieved an advantage of three and a half minutes by the Côte de Tonnac, 32 km (20 mi) into the stage. Perez won the intermediate sprint in Gaillac, with 80 km (50 mi) still to race. With 50 km (31 mi) to race, the breakaway group's advantage had been reduced to less than a minute. A crash in the peloton happened around 31 km (19 mi) from the finish line, forcing Niki Terpstra to abandon the Tour, and requiring Nairo Quintana and Richie Porte's teammates to help their team leaders back to the peloton. De Gendt attacked from the breakaway group with 10 km (6.2 mi) remaining, achieving a 40-second gap, but De Gendt and the rest of the lead group were caught with less than 5 km (3.1 mi) from the finish. The race then finished with a bunch sprint. During the sprint, a spectator's cell phone hit the helmet of Niccolò Bonifazio, ruining his chances at a stage victory and making the Italian sprinter visibly frustrated.