Kevin Magnussen was seventh for Haas, the team’s best qualifying result in Mexico, ahead of Alpine’s Pierre Gasly, Williams’ Alex Albon and Nico Hulkenberg in the second Haas.
The Sauber drivers were first out as Q1 began in warmer conditions than those for final practice with a track temperature of 45 degrees and the air at 22.
In the rarefied atmosphere, this was likely to affect performances of tires and engines.
Both Ferraris went top before Norris, and then Verstappen took control.
Perez, struggling with his brakes, was 1.5 seconds adrift in 14th.
As the track improved, the times tumbled with Stroll briefly fourth and Gasly second ahead of Hulkenberg.
Switching to softs, in search of more pace and grip, Piastri, who was fastest for McLaren in FP3, fought to progress and slumped to 19th ahead of Red Bull’s Perez with two minutes to go – while Norris leapt to the top of the times.
In the final seconds, big improvements by others left Piastri and Perez in the drop zone — a surprise to many and a shock to the Mexicans’ huge following at the circuit.
Perez wound up 18th to extend his miserable run and was eliminated along with Williams’ Franco Colapinto in 16th, Piastri 17th, Esteban Ocon of Alpine and Sauber’s Zhou Gruanyu.
For the luckless Perez, it was his worst starting slot in nine Mexican Grands Prix.
“It’s very difficult with this car — I can’t attack the corner into braking,” Perez said.
“I went off at Turn 12 and beached it on the kerb,” Piastri said.
“And that was it. So frustrating… a poor mistake to make.”
Alex Albon led the way for Q2, with Verstappen setting the early pace before Norris took command as RB’s Yuki Tsunoda locked up and crashed at Turn 12, bringing out red flags. He was unhurt.
This meant he and teammate Liam Lawson were out along with Aston Martin’s two-time world champion Fernando Alonso, in his 400th Grand Prix, and Lance Stroll and Sauber’s Valtteri Bottas.
Verstappen set the pace in the top-10 final session with a sizzling early lap in 1:16.368, more than half a second quicker than Norris, but the Dutchman’s lap was deleted for exceeding track limits.
That left Ferrari to take control with Sainz on top in 1:16.055.
Fortunately, Red Bull had another set of softs available for Verstappen’s second run.
In a frantic finale, Sainz improved his time to resist Verstappen’s best effort with Norris lining up third, unable to break into the front row.