The championship leader had rarely looked beatable throughout the session and ploughed a lonely furrow in pursuit of pole position, particularly as nobody had been able to beat his opening 1m33.977s effort - let alone his ultimate pole lap.
This set up a thrilling battle to join him on the front row, however, and a series of contenders all staked their claim to start at the front. Fernando Alonso ended the first runs with the second-best lap time, but the second cycle precipitated further improvements.
Carlos Sainz, who recovered from a Q2 crash, initially popped up onto the front row, but was succeeded by Ferrari team-mate Charles Leclerc. Oscar Piastri beat them in turn before Lando Norris relegated his team-mate, but Alonso then briefly reclaimed his earlier position.
But Perez broke into the 1m33s to seal a Red Bull 1-2, knocking Alonso down to the second row of the grid - where he starts alongside Norris.
Piastri starts fifth alongside Leclerc, while Sainz joins George Russell on the fourth row as the Briton was Mercedes' sole representative in the top half of the field.
Nico Hulkenberg broke into Q3 and starts Sunday's race from ninth, with Valtteri Bottas completing the top 10.
Source: Autosport