Verstappen led after the first runs in Q3 on a 1m28.991s, with Leclerc and Sainz trailing – just 0.080s covering all three.
On the final runs, Leclerc headed the pack and was up on his own personal best time from the off, then taking the best time in the middle sector to roar to a 1m28.796s.
Running behind, Sainz registered a stunning first sector 0.2 seconds quicker than his teammate, but he lost time as the lap went on and he ended up 0.190s adrift.
But that was still enough to slot him ahead of Verstappen's run one time, which secured second place on the grid for Sunday's race as the Red Bull driver abandoned his final effort.
Verstappen had to catch a massive oversteer snap he encountered after throwing his RB18 through the fast, flowing Turns 5/6 complex, sliding off at the latter corner and winding up 0.6s down on Leclerc in sector one – after which he toured back to the finish line and accepting his defeat with the note that he "f***ed it".
Sergio Perez took fourth in the second Red Bull ahead of Alfa Romeo's Valtteri Bottas and Mercedes driver Lewis Hamilton.
Pierre Gasly took seventh, with Lando Norris, Yuki Tsunoda and Lance Stroll rounding out the top 10.
In Q2, Fernando Alonso set his best time right at the end, but could not reach the top 10 shootout as he was eliminated in 11th, on spot ahead of FP2 pace-setter George Russell.
Russell went for most of Q2 without a time on the board as he struggled with wild oversteer snaps through the track's flowing first sector and porpoising elsewhere, but finally reached the top 10 with his final effort.
But that came nearly two minutes before the middle segment of qualifying had finished and he did not have enough time to return to the pits for fresh tyres and so was pushed down the order and eliminated.
He finished ahead of Sebastian Vettel, who rued time lost sliding out of the chicane at the end of the second sector for his 13th place result, ahead of McLaren's Daniel Ricciardo and Haas driver Mick Schumacher.
In Q1, the flurry of late improvements from several drivers languishing down the order after the early running – including Hamilton and Alonso – shuffled Kevin Magnussen down to 16th and out.
Zhou Guanyu was knocked out in 17th, frustrated to hit heavy traffic at the final corners of his last flying lap, describing the scenes as "dangerous" and urging Alfa to report the incident to the FIA.
Williams had hoped Alex Albon could replicate his strong speed FP3, where he finished ninth, but he rued not setting personal best times in the final two sectors of his last lap, which left him down in 18th.
That was ahead of Nicholas Latifi in the other Williams, who set a personal best right at the very end of Q1 but could not climb off the back row of the grid for Sunday's race.
Esteban Ocon took no part in qualifying after a crack was discovered in his chassis following his heavy crash at the chicane in FP3 and he will start the race last as a result.
Cla | Driver | Chassis | Engine | Time | Gap | |
---|---|---|---|---|---|---|
1 | Charles Leclerc | Ferrari | Ferrari | 1'28.796 | ||
2 | Carlos Sainz | Ferrari | Ferrari | 1'28.986 | 0.190 | |
3 | Max Verstappen | Red Bull | Red Bull | 1'28.991 | 0.195 | |
4 | Sergio Perez | Red Bull | Red Bull | 1'29.036 | 0.240 | |
5 | Valtteri Bottas | Alfa Romeo | Ferrari | 1'29.475 | 0.679 | |
6 | Lewis Hamilton | Mercedes | Mercedes | 1'29.625 | 0.829 | |
7 | Pierre Gasly | AlphaTauri | Red Bull | 1'29.690 | 0.894 | |
8 | Lando Norris | McLaren | Mercedes | 1'29.750 | 0.954 | |
9 | Yuki Tsunoda | AlphaTauri | Red Bull | 1'29.932 | 1.136 | |
10 | Lance Stroll | Aston Martin | Mercedes | 1'30.676 | 1.880 | |
11 | Fernando Alonso | Alpine | Renault | 1'30.160 | 1.364 | |
12 | George Russell | Mercedes | Mercedes | 1'30.173 | 1.377 | |
13 | Sebastian Vettel | Aston Martin | Mercedes | 1'30.214 | 1.418 | |
14 | Daniel Ricciardo | McLaren | Mercedes | 1'30.310 | 1.514 | |
15 | Mick Schumacher | Haas | Ferrari | 1'30.423 | 1.627 | |
16 | Kevin Magnussen | Haas | Ferrari | 1'30.975 | 2.179 | |
17 | Zhou Guanyu | Alfa Romeo | Ferrari | 1'31.020 | 2.224 | |
18 | Alex Albon | Williams | Mercedes | 1'31.266 | 2.470 | |
19 | Nicholas Latifi | Williams | Mercedes | 1'31.325 | 2.529 | |
20 | Esteban Ocon | Alpine | Renault | |||
View full results |