Always towards the head of affairs, Sagan proved the fastest of a five-man group in the final few hundred metres, out-sprinting defending champion Jasper Stuyven (Trek-Segafredo) and Team Sky's Luke Rowe.
That trio, together with Matteo Trentin (Quick-Step Floors) and Tiesj Benoot (Lotto-Soudal), had been part of an early split on the Oude Kwaremont with 84km remaining that had seen around 15 riders move clear of the front of the peloton.
What followed was two hours of watching time gaps, as the gap back to the peloton ebbed and flowed as the race made its way back towards two finishing circuits around the town of Kuurne.
Entering the first circuit and the peloton was within sight, but a flurry of activity from the front group saw not only the peloton distanced, but also the final five-rider selection made.
Defending champion Stuyven instigated the move, being quickly joined by Sagan and Trentin, before Benoot and finally Rowe clawed their way across from a chase group led by a trio of BMC riders working for Greg Van Avermaet.
The front group worked well together through the final 20km, taking turns on the front to put the chasers out of contention, and making sure it would be a small group sprint for the win.
Sagan was always going to be the favourite from such a position, but can't have believed his luck firstly when no attacks came in the final five kilometres, and secondly when none of his competitors looked around with 250m to go just as he launched his final sprint.
The element of surprise allowed Sagan to quickly open a significant gap, and although Stuyven did well to close up to the Slovakian's back wheel, it was not enough to prevent the world champion from taking his first win of the 2017 season.
The 69th edition of Kuurne-Brussels-Kuurne saw fast racing from the start, with nearly 50km covered in a frantic first hour with no breaks able to stay clear. In fact it wasn't until more than 70km into the 200km race that a move finally stuck.
The break was made up of nine riders, mainly from lower level teams: Alexis Gougeard (Ag2r La Mondiale), Jurgen Roelandts (Lotto-Soudal), Antoine Duchesne (Direct Energie), Guillaume Boivin (Israel Cycling Academy), Alex Kirsch (WB Veranclassic Aqua Protect), Sjoerd van Ginneken (Roompot – Nederlandse Loterij), David Boucher (Pauwels Sauzen – Vastgoedservice Conti), Sander Cordeel (Verandas Willems-Crelan) and Maxime Farazijn (Sport Vlaanderen-Baloise)
The group quickly built an advantage of more than six minutes, but with the peloton approaching the Oude Kwaremont climb with 84km remaining, the pace went up and the advantage dropped towards four minutes.
Team Sky won the race into the bottom of the Oude Kwaremont climb, with Ian Stannard (Team Sky) leading the charge, before an attack from Zdenek Stybar (Quick-Step Floors), Tiesj Benoot, and Stefan Küng (BMC Racing) sparked the first real action of the race.
The trio opened a slim advantage, before being caught by a chasing group that swelled to around 15 riders, including defending champion Jasper Stuyven, Peter Sagan, Greg Van Avermaet, Ian Stannard, Tony Martin, and four Quick-Step Floors riders looking to make amends for yesterday's disappointment at Omloop Het Nieuwsblad.
With their numerical supremacy it was up to Quick-Step to set the pace to consolidate the group's advantage over the peloton and to steadily reel in the break, whose advantage was down below two minutes for the first time as the chasers hit the steady climb of the Tiegemberg with 62km remaining.
While Quick-Step controlled the front of the elite group, the back of the group saw a nasty crash as Tony Martin clipped a parked car and hit the deck hard, suffering nasty injuries to his face, but still managing to somehow ride on.
By the time the race reached its final climb of the Nokereberg with 50km remaining, the gap to the leaders had shrunk to less than thirty seconds, and 18km later on the long flat road back to Kuurne the catch was made.
For a long time it had seemed like the peloton was out of contention, but hard work by Direct Energie and LottoNL-Jumbo had kept the gap at just 50 seconds, and by the time the front group crossed the finish line to start the first of two finishing circuits, it had fallen further to 27 seconds.
While some of the better sprinters in the front group might not have been too disappointed if the race came back together for a bunch sprint, Jasper Stuyven wasn't one of them, and the defending champion attacked with 28km remaining.
Arnaud Démare (FDJ) was the first to react, but quickly sat up to leave the chase up to the BMC and Quick-Step riders, before a counter-attack came from Peter Sagan with Matteo Trentin locked on the world champion's wheel.
Tiesj Benoot was the next man to jump across, making short work of crossing the gap, before Rowe also made it across to create a five-man group of Benoot, Rowe, Stuyven, Sagan, and Trentin up the road.
That flurry of activity meant that the gap back to the peloton jumped back up to more than a minute, meaning the winner would come from one of the handful of groups from the early move.
The lead group worked well together, taking even turns on the front to quickly open a gap of 30 seconds to the chasers, led by a trio of BMC riders, as they entered the final 15km finishing circuit.
Working well together, the lead group maintained their gap, continuing to cooperate as each rider reached down to tighten his shoes in preparation for the inevitable late attacks and final sprint.
With 1.5km to go the games began as Sagan weaved across the road with Trentin moving to the front. It looked like a mistake by the Italian, and so it proved.
Sagan was the first to launch his sprint with 250m to go, catching the rest napping and quickly opening a significant gap, crossing the line with one arm in the air to take his first victory of the season.
Kuurne-Brussels-Kuurne 2017, 200km
1. Peter Sagan (Svk) Bora-Hansgrohe
2. Jasper Stuyven (Bel) Trek-Segafredo
3. Luke Rowe (GBr) Team Sky
4. Tiesj Benoot (Bel) Lotto-Soudal
5. Matteo Trentin (Ita) Quick-Step Floors
6. Arnaud Démare (Fra) FDJ
7. Greg Van Avermaet (Bel) BMC Racing
8. Oliver Naesen (Bel) Ag2r La Mondiale
9. Zdenek Stybar (Cze) Quick-Step Floors
10. Baptiste Planckaert (Bel) Katusha-Alpecin
Thank you for reading 20 articles this month* Join now for unlimited access
Enjoy your first month for just £1 / $1 / €1
*Read 5 free articles per month without a subscription
Join now for unlimited access
Try first month for just £1 / $1 / €1