The Deceuninck-QuickStep rider crossed the line after 257km in a time of 5:58:04.
Nils Politt (Katusha-Alpecin) settled for second in the sprint to the finish, while Yves Lampaert (Deceuninck-QuickStep) finished third.
Defending champion Peter Sagan (Bora-Hansgrohe) claimed fourth place, with Florian Senechal (Deceuninck-Quick Step) fifth.
“I got down to work with Politt who is also quite a brave rider. It was ideal to be in his company,” said Gilbert.
“In the finale, we rode flat out together, and in the end, it came down to who was the strongest – and that was me.”
View more results below.
1. Philippe Gilbert (Bel) Deceuninck-Quick Step 5:58:02
2. Nils Politt (Ger) Team Katusha-Alpecin
3. Yves Lampaert (Bel) Deceuninck-Quick Step +0:00:13
4. Peter Sagan (Svk) Bora-Hansgrohe +0:00:42
5. Florian Senechal (Fra) Deceuninck-Quick Step +0:00:47
6. Mike Teunissen (Ned) Team Jumbo-Visma
7. Zdenek Stybar (Cze) Deceuninck-Quick Step
8. Edvaldas Siskevicius (Lit) Delko Marseille Provence
9. Sep Vanmarcke (Bel) EF Education First
10. Stefan Kung (Swi) Groupama-FDJ
11. Stefan Küng (Swi) Groupama-FDJ
12. Greg Van Avermaet (Bel) CCC Team
13. Oliver Naesen (Bel) AG2R La Mondiale
14. Heinrich Haussler (Aus) Bahrain-Merida +0:01:24
15. Adrien Petit (Fra) Total Direct Energie +0:01:25
16. Marco Haller (Aut) Team Katusha-Alpecin +0:01:36
17. Arnaud Demare (Fra) Groupama-FDJ
18. Anthony Turgis (Fra) Total Direct Energie
19. Hugo Hofstetter (Fra) Cofidis Solutions Credits
20. Bert De Backer (Bel) Vital Concept-B&B Hotels
61. Reinardt Janse Van Rensburg (RSA) Dimension Data +0:15:47