A five-rider breakaway shaped much of Stage 2, with Mael Guegan of CIC Pro Cycling Academy joined by Victor Papon and Jaakko Hanninen of Nice Metropole Cote d'Azur, plus Kevin Avoine and Daniel Arnes of Van Rysel Roubaix.
The move built its advantage to around the four-minute mark early on, but Red Bull - BORA - hansgrohe, EF Education - EasyPost and Tudor Pro Cycling Team all became involved in the chase as the stage moved towards its final third.
Papon and Hanninen were active on the classified climbs. Hanninen took maximum points over Fresnicourt-le-Dolmen ahead of Papon and Avoine, before briefly attacking from the front group and being brought back. Papon then strengthened his lead in the mountains classification over Hersin-Coupigny, crossing first ahead of Avoine and Hanninen.
Despite the chase gathering behind, the break still carried a lead of 1:30 into the approach to Servins, the final classified climb of the day. The gap continued to fall after the climb, but the five leaders remained together and still held 58 seconds over the peloton with 10km remaining.
EF Education - EasyPost, Uno-X Mobility and Unibet Rose Rockets were among the teams chasing late on, while a crash in the peloton disrupted the pursuit inside the final 5km. By then, the leaders still had 23 seconds, and the chance of a sprint from the bunch was slipping away.
Hanninen lost contact with the front group inside the final 3km, leaving Papon, Guegan, Avoine and Arnes to fight for the stage. Arnes worked for Avoine in the final kilometre, but Papon finished it off for Nice Metropole Cote d'Azur, taking the win from Guegan and Avoine as the breakaway completed the job.