Der neutralisierte Start erfolgte in Orleans auf der Rue Fernand Rabier beim Place Halma Grand. Vorbei am Campo Santo ging es zur Kathedrale von Orléans, ehe die Strecke über die Rue Jeanne d’Arc und Rue Charles Sanglier zum Place du Martroi führte. Auf der Pont George V überquerten die Fahrer die Seine, bevor es vorbei an der Église Saint-Marceau auf die D920 ging. Nach der Überquerung des Loiret wurde das Rennen nach 8,7 Kilometern in Olivet auf der D168 freigegeben.
Nach dem offiziellen Start führte die Strecke über Ardon, Jouy-le-Potier, Ligny-le-Ribault, Villeny, La Marolle-en-Sologne, Neung-sur-Beuvron und Millançay nach Romorantin-Lanthenay, wo bei Kilometer 57,1 der einzige Zwischensprint stattfand. Entlang des Cher ging es anschließend nach Vierzon, bevor die Strecke ins südliche Issoudun führte. Der Zielort Saint-Amand-Montrond wurde im Finale aus nordwestlicher Richtung über Mareuil-sur-Arnon, Châteauneuf-sur-Cher und Bruère-Allichamps erreicht. Der Zielstrich befand sich auf der D951 neben der Pyramide des Métiers d’Arts. Einen Kilometer vor dem Ziel folgten innerhalb von wenigen Metern eine Links- und eine Rechtskurve, ehe 600 Meter vor dem Ziel ein Kreisverkehr durchfahren wurde.[1]
Nach seinem Sturz auf der 9. Etappe wurde bei Alexander Wlassow (Red Bull–Bora–Hansgrohe) am Ruhetag ein Knöchelbruch festgestellt. Der Russe verließ die Tour de France, womit Primož Roglič einen wichtigen Helfer verlor. Nachdem das Rennen freigegeben worden war, kam es zu keinen Angriffen und das Hauptfeld absolvierte die ersten Kilometer geschlossen. 142 Kilometer vor dem Ziel, rund 10 Kilometer vor dem Zwischensprint von Romorantin-Lanthenay, setzten sich mit Maxim van Gils, Brent Van Moer (beide Lotto Dstny) und Kobe Goossens (Intermarché-Wanty) drei Fahrer vom Hauptfeld ab, wobei sich Maxim van Gils nach nur wenigen Metern wieder zurückfallen ließ. Kobe Goossens sicherte sich vor Brent Van Moer die meisten Punkte beim Zwischensprint und half somit seinem Teamkollegen Biniam Girmay bei der Verteidigung des Grünen Trikots. Im Sprint des Hauptfeldes setzte sich Jasper Philipsen (Alpecin-Deceuninck), vor dem Eritreer durch. Die weiteren Punkte gingen an Fernando Gaviria (Movistar), Arnaud Démare (Arkéa-B&B Hotels), Gerben Thijssen (Intermarché-Wanty), Bryan Coquard (Cofidis), Ryan Gibbons (Lidl-Trek) und Arnaud De Lie (Lotto Dstny). Nach dem Zwischensprint ließen sich die Ausreißer wieder einholen.
In einem hektischen Finale bereitete die Alpecin-Deceuninck-Mannschaft den Sprint vor, ehe der Weltmeister Mathieu van der Poel (Alpecin-Deceuninck) den Sprint für Jasper Philipsen anfuhr. Auf den letzten Metern fuhr der Belgier aus dem Windschatten seines Teamkollegen und gewann die Etappe souverän vor Biniam Girmay und Pascal Ackermann (Israel-Premier Tech).
In der Gesamtwertung kam es zu keinen nennenswerten Veränderungen. Tadej Pogačar (UAE Team Emirates) verteidigte das Gelbe Trikot und lag weiterhin 33 Sekunden vor Remco Evenepoel (Soudal Quick-Step), der nach wie vor die Nachwuchswertung anführte. Der Vorjahressieger Jonas Vingegaard (Visma-Lease a Bike) wies als gesamtdritter einen Rückstand von einer Minute und 15 Sekunden auf. Mit seinem ersten Etappensieg verkürzte Jasper Philipsen seinen Rückstand in der Punktwertung, wobei er weiterhin 74 Punkte hinter Biniam Girmay zurücklag. Jonas Abrahamsen (Uno-X Mobility) verteidigte die Führung in der Bergwertung, bei der im Rahmen der 10. Etappe keine weiteren Punkte vergeben wurden. In der Mannschaftswertung lag weiterhin das UAE Team Emirates an der ersten Position. Kobe Goossens wurde nach seiner kurzen Flucht zum kämpferischsten Fahrer gewählt. Alle 172 Starter erreichten das Ziel.[2][3]