Paul Magnier. Jonathan Milan. A photo finish in Sofia. And a Uruguayan in pink heading into Italy.
Stage 3 of the 2026 Giro d'Italia closed the Bulgarian Grande Partenza the way it opened, with Magnier's fist raised and Milan left to recount the metres. The 175km ride from Plovdiv to Sofia produced a sprint decided by less than a wheel, a tactically sharp breakaway that nearly survived, and a clean, incident-free day for Guillermo Thomas Silva (XDS Astana) to consolidate the Maglia Rosa before the race heads home to Italy.
After two days of crashes and chaos, the Corsa Rosa finally gave everyone a finish to simply enjoy.
The Stage: Plovdiv to Sofia, 175km
The third stage was designed as a middle ground between the opening day's flat sprint and Stage 2's punchy finale. Riders left Plovdiv, Bulgaria's second city, and tracked west toward the capital Sofia across 175km of rolling terrain, with one significant obstacle en route: the Borovets Pass, a second-category climb of 9.2km at 5.3%, cresting around 100km from the finish.
The profile was challenging enough to thin out the pure sprinters, but not severe enough to reshape the GC. The question was whether a breakaway could use the climb as a launching pad, and whether any of the sprint trains could fully reassemble for the finish.
From the gun, Polti VisitMalta sent riders up the road, for the third consecutive day. Diego Pablo Sevilla, who has made the early escape his personal project this race, went with team-mate Alessandro Tonelli, joined by Manuele Tarozzi of Bardiani CSF 7 Saber. Three riders, one plan: ride for the KOM points, collect as much road as possible, and see how long the elastic would hold.
Soudal-QuickStep controlled tempo from the peloton. With Magnier already in the ciclamino jersey and targeting a second stage win, the Wolfpack had every incentive to manage the gap carefully, keep the break alive long enough to make the stage manageable, but never let them build a lead that threatened the sprint.
The Climb: Borovets Pass
As the road tilted upward on Borovets, the breakaway held around two and a half minutes, enough margin to keep the sprint teams engaged without triggering a panic. The climb's 5.3% average gradient was sustained rather than explosive, the kind of test that grinds a mechanical advantage rather than rewarding a sharp anaerobic punch.
The GC contenders, Jonas Vingegaard, Egan Bernal, Giulio Pellizzari, Lennert Van Eetvelt, sat safely in the bunch. After Vingegaard's Stage 2 attack that came to nothing in the final kilometre, nobody was burning matches over a third-category finish. Positioning mattered; unnecessary work didn't.
Silva, wearing pink for the first time after winning Stage 2 in Veliko Tarnovo, rode conservatively. XDS Astana and Unibet Rose Rockets, the latter motivated to set up Dylan Groenewegen for the sprint, contributed to pacemaking behind the break as the climb crested. A headwind in the closing five kilometres added a tactical wrinkle: teams were reluctant to pull hard into the wind, creating a momentary standoff that briefly worked in the escapees' favour.
The Sprint: A Perfect Wheel and a Perfect Throw
The breakaway made it under the flamme rouge. Barely. With the peloton breathing hard behind them, Sevilla, Tonelli, and Tarozzi hit the banner with less than a minute in hand, a final left-hand corner the only thing standing between them and being swallowed up. They were caught 500 metres from the finish.
What followed was a short, brutal sprint on a wide Sofia boulevard.
Groenewegen's Unibet Rose Rockets set up what looked like a textbook lead-out, long, controlled, hitting the front at exactly the right tempo. The plan came apart when Milan, impatient or calculating depending on your read, launched his sprint earlier than expected. It's a move that has worked for the Lidl-Trek sprinter before, and he opened a clear gap to the field.
Magnier read it perfectly. Rather than panic and launch immediately, the 22-year-old Frenchman sat on Milan's wheel, waiting, extracting every available kilometre-per-hour from the draft before unleashing his own effort in the final 150 metres. He came over Milan at the line, threw his arm in the air, then lowered it, uncertain, and waited for the replay.
The photo confirmed it. More than half a wheel. Stage win number two in three days.
Groenewegen, who had been given a clean lead-out only to see it unravel at Milan's early jump, finished third, his best Grand Tour stage result since the 2024 Tour de France. Cold comfort on a day the win felt reachable.
Official results:
- Paul Magnier (Soudal-QuickStep) : 175km in 4h09'42", avg 42.050 km/h
- Jonathan Milan (Lidl-Trek) : s.t.
- Dylan Groenewegen (Unibet Rose Rockets) : s.t.
What Magnier Just Did
The numbers frame it properly. Magnier became the first French rider ever to win two stages in the opening three days of the Giro d'Italia. He's also the youngest rider in the race's history to claim two stage wins so early in an edition.
Those are not minor footnotes. Magnier entered this race as a legitimate sprint contender, 28 career wins at 22 years old, a growing presence in European sprints, but his ability to back up Stage 1 with Stage 3, separated by a genuine climb and a messy bunch, demonstrates something more than raw pace. He survived a Cat 2 ascent with the pure sprinters, reassembled cleanly in the chaos, and still produced a finishing effort sharp enough to beat one of the best sprinters in the world at his own game.
For Soudal-QuickStep, it's also a data point about how the Wolfpack develops sprinters. Magnier's positional discipline, sitting tight, not panicking, launching late, reflects the kind of race craft that doesn't arrive fully formed. Team-mate Ayco Bastiaens did significant work on the front all day, and the lead-out in Sofia put Magnier precisely where he needed to be.
His ciclamino lead now sits at 105 points to Milan's 64, a gap that's meaningful but not insurmountable over three weeks. Milan needs a stage win to close it quickly. Magnier needs consistency.
Silva: The Calm Before the Mountains
While the sprint circus played out, Silva's day was exactly what XDS Astana needed it to be: controlled, uneventful, and pink at the finish.
The 4-second lead over Florian Stork (Tudor Pro Cycling) and Egan Bernal (Netcompany Ineos) is narrow enough to feel fragile, but Stage 3 never asked Silva to defend it under pressure. The GC gaps didn't move. Nobody attacked. The sprint teams controlled tempo. His task was to ride safely, avoid crashes, which had cost riders significant time across both previous stages, and reach Sofia. He did all three.
The symbolic weight of what Silva has already achieved at this Giro is worth pausing on. The Uruguayan carries the Maglia Rosa into Italy, a country where cycling is a religion, not a sport, after winning Stage 2 in a sprint that required surviving a late Vingegaard attack and executing perfectly in a chaotic finish. His team leads the team classification. He also leads the best young rider classification, though Jan Christen (UAE Team Emirates-XRG) will wear the white jersey on the road since Silva is already in pink.
For GC, the race is still finding its shape. Vingegaard, Pellizzari, Van Eetvelt, Bernal, all present, all watching. The Bulgarian terrain never gave them a genuine opportunity to split things. Italy will.
The Maglia Azzurra and What Sevilla Is Building
Diego Pablo Sevilla's commitment to the mountains jersey deserves its own paragraph. Three stages. Three breakaways. Three sets of KOM points. The Polti VisitMalta rider has been in the early escape every single day of the 2026 Giro, which requires a particular combination of early acceleration, team cooperation, and the willingness to suffer at the front of the race for hours with no guarantee of reward.
It won't last once the race hits genuine mountain terrain and genuine climbers start targeting the Azzurra. But for now, Sevilla is playing an intelligent, consistent game, and building the kind of breakaway reputation that earns future opportunities.
What Comes Next
The race hits its first rest day, with a transfer back to Italy before Stage 4 resumes in Calabria: Cosenza to Catanzaro. The sprinters will still have opportunities in the early Italian stages, and Magnier will be targeting three wins before the mountains shut the race down for him.
The GC storyline is the one to watch most closely. Silva's four-second lead is a whisker, one mechanical, one crash, one well-timed bonus sprint away from evaporating. Stork at Tudor has the position and the incentive to go for bonus seconds at every available opportunity. Bernal, a former Giro champion, knows exactly how this race evolves over three weeks.
The Bulgarian Grande Partenza delivered crashes, a surprise Maglia Rosa, and a 22-year-old Frenchman rewriting sprint history. Italy will deliver something different, bigger climbs, longer days, and the real race beginning in earnest.
XDS Astana
Soudal-QS
Polti VisitMalta
UAE (on road)