With 300 meters to go on the steep Wall of Huy, Gilbert swept to the front and no one could match him. Joaquin Rodriguez finished runner-up for the second year in a row, and fellow Spaniard Samuel Sanchez took third place.
Tour de France winner Alberto Contador, who came into the race with a cold, finished 11th.
Gilbert also won Brabant Arrow last week and the Amstel Gold race Sunday.
With his three-for-three, Gilbert made himself the overwhelming favorite for the Liege-Bastogne-Liege classic on Sunday, one of the biggest races in the season.
In the uphill sprint, Alexander Vinokourov took fourth place.
Gilbert finished the 198-kilometer (123-mile) trek through the pastures and hills of southern Belgium in 4 hours, 54 minutes, 57 seconds.
After winning two tough classics over the past week, Gilbert said he was aiming for an easy training ride to get ready for Sunday's top race. But when he felt increasingly good and saw other riders falter or let themselves be boxed in on the final climb, he grabbed the opportunity to pull away.
"What a surprise. I didn't expect this at all," Gilbert said. "Even with 10 kilometers to go, I didn't believe in myself. Then with 300 meters to go, I made the break and it was pure happiness afterward."
Spain's Contador was struggling with a cold in the days leading up to the race and it showed in the final climb where he never was a factor. It was his only Belgian classic this year since he wants to focus on the Giro d'Italia, which starts on May 7.
The Wall of Huy, which has an average rise of 9.3 degrees, is always seen as a good arbiter on who will do well in Liege the following Sunday. Gilbert said he hopes to prove the theory right.
"I don't know where my limits are now," Gilbert said. "There won't be any problem to recover for Sunday." Liege-Bastogne-Liege covers similar terrain through the woods and hills of the Ardennes but is longer and has even more climbs.
Raced under brilliant skies and in temperatures hovering around 20 C (70 F), the pack caught up with an early breakaway with some 15 kilometers to go and brought all the favourites together to the closing climb.
Last year's winner Cadel Evans was out injured.
Results from Fleche Wallonne:
1. Philippe Gilbert (BEL/OLO) 201km in 4hr 54min 57sec, 2. Joaquin Rodriguez (ESP/KAT) at 0:03sec, 3. Samuel Sanchez (ESP/EUS) 0:05, 4. Alexandre Vinokourov (KAZ/AST) 0:06, 5. Igor Anton (ESP/EUS) 0:06, 6. Jelle Vanendert (BEL/OLO) 0:06, 7. Frank Schleck (LUX/LEO) 0:06, 8. Daniel Moreno (ESP/KAT) 0:09, 9. Christophe Le Mevel (FRA/GRM) 0:12, 10. Paul Martens (GER/RAB) 0:12, 11. Alberto Contador (ESP/SAX) 0:15, 12. Michael Albasini (SUI/HTC) 0:17, 13. Ryder Hesjedal (CAN/GRM) 0:18, 14. Robert Gesink (NED/RAB) 0:20, 15. Bert De Waele (BEL/LAN) 0:20, 16. Greg Van Avermaet (BEL/BMC) 0:20, 17. Juergen Van den Broeck (BEL/OLO) 0:23, 18. Ben Hermans (BEL/RSH) 0:26, 19. Rigoberto Uran (COL/SKY) 0:28, 20. Benat Intxausti (ESP/MOV) 0:28, 21. Remy Di Gregorio (FRA/AST) 0:28, 22. Simon Gerrans (AUS/SKY) 0:28.