The 2013 winner had taken eight second places so far this season, leading many to bring up the supposed "Curse of the Rainbow Jersey", but it was dispelled emphatically as Sagan produced the sprint finish he was lacking two days ago in the E3 Harelbeke.
The race began without a potential threat in Alexander Kristoff (KAT), who was unable to start due to illness, along with Ian Stannard (SKY) and Alexis Gougeard (ALM).
A break of four riders were allowed several minutes clear from the start of the race, Pavel Brutt (TNK), Josef Cerny (CCC), Jonas Rickaert (TSV) and Lieuwe Westra (AST), who were joined by Simon Pellaud (IAM) just over 20km into the race.
As wind and rain battered the riders, the break continued on, extending their lead to well over ten minutes as the peloton split into three because of the weather. By the halfway mark, that lead had shrunk to just one minute, and they were caught by the front group, of around 20 riders including favourites Sagan, Fabian Cancellara (TFS) and Niki Terpstra (EQS) shortly afterward.
Dimension Data, spearheaded by Tyler Farrar, drove the group forward, but they were closed down by the chasing group, swelling the leading pack to around 60. Over the Kemmelberg and Monteberg climbs, the group was thinned back out again, the weaker riders dropping off the back.
Approaching the second and final climb of the Kemmelberg, there were several attempted attacks, with Vyacheslav Kuznetsov (KAT) timing his best, opening up a lead of close to a minute. Several attempts were made to catch him, particularly from Classic specialists Etixx-QuickStep, but only one group was successful.
Cancellara, Sagan and Sep Vanmarcke (TLJ) made the jump across to Kuznetsov on the descent, as the gap had shrunk to 10 seconds, and with the Russian's help they reopened the gap to 35 seconds, despite Etixx-QuickStep's best efforts.
With riders from Tinkoff and Katusha disrupting the chase, the four would remain clear, and indeed extended their lead to 45 seconds inside the last kilometre. With the quartet able to afford to jockey for position, the peloton was looming into view on the finishing straight.
Kuznetsov was first to launch, Sagan and Cancellara close behind, but as Cancellara faded, Sagan remained in Kuznetsov's slipstream, surging past 100m from the line to comfortably take the win, as Vanmarcke slipped past into second.
Tim de Waele
Race winner Peter Sagan (TNK):
“I’m very happy I won finally in this rainbow jersey.
“We played with group a little. Then in the finale there was a strong wind and we did full gas all day. We went slow near the finish because we had a lot of time on the group. Today I was very, very good and so the win came.”
Race results
1. Peter Sagan (TNK)
2. Sep Vanmarcke (TLJ)
3. Vyacheslav Kuznetsov (KAT)
4. Fabian Cancellara (TFS)
5. Arnaud Demare (FDJ)
6. Fernando Gaviria (EQS)
7. Jurgen Roelandts (LTS)
8. Jacopo Guarnieri (KAT)
9. Greg van Avermaet (BMC)
10. Michael Morkov (KAT)