Charles Leclerc claimed pole position for Formula 1's Belgian Grand Prix with a huge advantage of 0.748 seconds over Ferrari team-mate Sebastian Vettel.
Leclerc set the pace on the first runs in the Q3 top-10 shootout with a lap of 1m42.644s, which would have been enough to be sure of pole position.
But he improved to a 1m42.519s on his second run to make certain of starting from the front.
Vettel had to work hard to get a place on the front row, setting the third-fastest time on the first run behind Mercedes driver Lewis Hamilton.
Hamilton improved on his second run, but Vettel's final lap was just quick enough to jump ahead - by only 0.015s.
Valtteri Bottas put the second Mercedes fourth on the grid, 0.896s off pole position and almost three-tenths ahead of Red Bull's Max Verstappen.
Verstappen had a near-miss in Q1, with his first run ruined by a loss of engine power before completing a lap quick enough to reach Q2 just 13 seconds before a late red flag.
The leading drivers all struggled with their warm-up laps in Q3 as they struggled for track position, with both Mercedes drivers locking up on their first runs while on outlaps.
Vettel also had trouble, lamenting "what a mess" over the radio on his second slowdown lap.
Renault led the midfield with Daniel Ricciardo almost three-tenths clear of Nico Hulkenberg in sixth and seventh places respectively.
Alfa Romeo driver Kimi Raikkonen almost split the Renaults but ended up eighth, 0.015s slower than Hulkenberg.
That put him ahead of the Racing Point of Sergio Perez, who has reverted to a previously-used old-specification Mercedes engine after a failure on Friday.
Haas's Kevin Magnussen rounded out the top 10 but never looked to have the pace to do better than 10th.
His team-mate Romain Grosjean was the quickest of those eliminated in Q2 after being outpaced by Magnussen by just 0.059s.
McLaren driver Lando Norris was 12th ahead of the Racing Point of Lance Stroll, who only made one attempt in Q2 as he carries a back-of-the-grid penalty for taking the new Mercedes engine at the start of the weekend.
Newly-promoted Red Bull driver Alex Albon also has to serve a back-of-the-grid penalty for taking the latest Honda engine package, meaning he has focused on race preparation work this weekend.
Although he did set a time in Q2, it was on previously-used rubber and left him down in 14th place.
Antonio Giovinazzi was 15th but unable to set a time in Q2 after suffering a failure of his new, latest-specification Ferrari engine at the end of the first part of qualifying.
Giovinazzi's failure, which resulted in a late red flag in Q1, ensured that first-run times dictated who was eliminated in the opening stage of qualifying.
Toro Rosso returnee Pierre Gasly was the quickest of those knocked out, having lapped almost three tenths off slowest Q2 qualifier Norris in Q1.
Surprisingly, McLaren driver Carlos Sainz Jr was also eliminated after having to complete his first flier on rubber that he had used before the red flag.
Sainz must serve a five-place grid penalty after introduction the latest-specification Renault engine at the start of practice but returned to the previous version for Saturday's running - although other penalties means he is currently set to start no lower than 17th.
Daniil Kvyat, who carries a back-of-the-grid penalty thanks to taking the newly-upgraded Honda power unit package, was 18th and a second ahead of the Williams of George Russell.
Robert Kubica was 20th but was unable to set a time after he suffered a failure of his new and latest-specification Mercedes V6 engine towards the end of the lap while on his first qualifying lap.
Kubica brought the Williams, which was billowing smoke, to a halt as a fire broke out at the rear - leading to the first red flag of the session.
Provisional starting grid
|5||Max Verstappen||Red Bull/Honda||1m43.690s||1.171s|
|6||Kimi Raikkonen||Alfa Romeo/Ferrari||1m44.557s||2.038s|
|7||Sergio Perez||Racing Point/Mercedes||1m44.706s||2.187s|
|13||Pierre Gasly||Toro Rosso/Honda||1m46.435s||3.916s|
|15||Carlos Sainz Jr.||McLaren/Renault||1m46.507s||3.988s|
|16||Lance Stroll||Racing Point/Mercedes||1m45.047s||2.528s|
|17||Alexander Albon||Red Bull/Honda||1m45.799s||3.280s|
|18||Antonio Giovinazzi||Alfa Romeo/Ferrari||-||-|
|19||Daniil Kvyat||Toro Rosso/Honda||1m46.518s||3.999s|