World champion Peter Sagan won his first Paris-Roubaix title in a sprint finish against Silvan Dillier.
However, the race was later overshadowed by the death of Belgian cyclist Michael Goolaerts.
Goolaerts, 23, died on Sunday evening after a crash during the race - though Sagan was unaware of the incident until he had crossed the finish line.
The 28-year-old Slovak is the first reigning world champion to win Paris-Roubaix since Bernard Hinault in 1981.
Sagan made the decisive move with 54km of the 257km one-day classic to go, leaving the peloton behind to join a breakaway group containing Dillier.
The pair stayed away to the finish in the outdoor velodrome in Roubaix, with Sagan kicking clear on the final bend.
It is Sagan's second win in the 'monuments' - cycling's five most prestigious one-day races - following his Tour of Flanders victory in 2016.
"I feel amazing. I'm so tired but I was involved in no crashes, had no flat tyres and I just kept going," said Sagan.
"Thank you to all my team-mates - they did a great job keeping everyone together and in the end I made the winning move."
Dutch rider Niki Terpstra, the 2014 Paris-Roubaix champion, broke clear of the chasing group to finish third, with defending champion Greg van Avermaet fourth.
Veranda's Willems-Crelan rider Goolaerts suffered cardiac arrest and fell on the second set of cobbles.
He was airlifted to hospital in Lille but passed away at 21:40 BST on Sunday.
British Team Sky riders Geraint Thomas and Luke Rowe were forced out following crashes.
Compatriot Lewis Askey, 16, won the junior race, making it back-to-back titles for Britain after Tom Pidcock's victory last year.
How the race was won
Paris-Roubaix, also known as the 'Hell of the North', is one of the toughest races in cycling, featuring 29 cobbled sections.
Swiss champion Dillier, 27, was part of a six-man group that got clear of the peloton after around 50km of racing before three riders dropped back, leaving Dillier, Sven Erik Bystrom and Jelle Wallays at the front with 65km to go.
With 55km remaining, Belgium's van Avermaet attacked the group of favourites that were chasing that trio, but was closed down before Bora-Hansgrohe rider Sagan surged clear just as the group came back together.
As his rivals hesitated and failed to organise themselves, Sagan hauled himself up to the leading three. Bystrom cracked but Sagan, Dillier and Wallays carried on to establish a gap of one minute with 35km to go.
Wallays was the next to fall back, leaving Sagan and Dillier out alone, but they worked well together to extend their lead to one minute 30 seconds.
Only four men were left to frantically try and catch back on - van Avermaet, Terpstra, Jasper Stuyven and Sep Vanmarcke - and, although they halved Sagan and Dillier's advantage, the gap stabilised at about 45 seconds inside the final 10km.
AG2R La Mondiale rider Dillier led Sagan into the velodrome and around the penultimate lap, but Sagan timed his dive to the inside line superbly to secure victory.
"I broke a finger recently and didn't think I'd make Paris-Roubaix because of that," said Dillier.
"Sagan is an angel and a devil in the same person - an angel because he took me with him and a devil because I had to go man-to-man with him. Congratulations to him."
Paris-Roubaix is the third of the five monuments this season following Milan San-Remo, won by Vincenzo Nibali, and last week's Tour of Flanders, won by Terpstra.
The next is Liege-Bastogne-Liege in Belgium on 22 April, before Il Lombardia in Italy on 13 October.
- Peter Sagan (Svk/Bora-Hansgrohe) 5hrs 54mins 6secs
- Silvan Dillier (Swi/AG2R La Mondiale) same time
- Niki Terpstra (Ned/Quick-Step Floors) +57secs
- Greg van Avermaet (Bel/BMC) +1min 34secs
- Jasper Stuyven (Bel/Trek-Segafredo) same time
- Sep Vanmarcke (Bel/EF Education First-Drapac)
- Nils Politt (Ger/Katusha-Alpecin) +2mins 31secs
- Taylor Phinney (USA/EF Education First-Drapac) same time
- Zdenek Stybar (Cze/Quick-Step Floors)
- Jens Debusschere (Bel/Lotto Soudal)