Verstappen was fastest in all three segments of the three-part session to head the competition by just over a tenth from Norris.
Piastri was third, some two-tenths back, while Daniel Ricciardo fell victim in the first segment of the session and will start 16th.
It was a slow start, with the circuit silent for the opening three minutes of SQ1 before barking to life as the entire field headed out with nine minutes remaining.
The pack was compelled to use medium tyres in the segment, with Verstappen fastest with his first lap with a 1:05.690s.
Ricciardo’s first lap was only 1:06.890s, the slowest of those who’d recorded times—Hamilton and Zhou had their initial laps deleted for track limits.
With two minutes left, all but George Russell were on track for a second attempt, Hamilton rising to 11th with a 1:06.504s.
Verstappen opted not to complete his lap as he pitted, safe at the top of the timesheets.
Ricciardo extricated himself from the bottom five, rising to 14th but slipping to 16th as others improved.
Pierre Gasly was the last man over the line, the Alpine driver slotting in 11th to dump Ricciardo out.
The Australian missed the cut by just 0.024s to his RB team-mate Yuki Tsunoda who was 15th.
The Japanese driver spun on his final lap, losing the RB after he dropped a wheel onto the gravel at the penultimate corner and slewing into the run-off at the final corner.
His earlier lap was good enough to progress, leaving Nico Hulkenberg, Valtteri Bottas, Alex Albon, and Zhou Guanyu to join Ricciardo on the sidelines.
It was a busier start to SQ2, Verstappen again the early pace-setter as he recorded a 1:05.186s.
Sergio Perez in the sister Red Bull Racing was half a second slower than his team-mate.
A 1:05.379s left Oscar Piastri second for a time, bumped to third when Russell completed his lap 0.05s faster than the McLaren driver.
Only eight cars set initial laps, both cars from Red Bull Racing, Ferrari, Mercedes, and McLaren, with the remaining seven runners remaining in the garage.
The final flurry saw those who’d not headed out earlier in the segment on track.
None were able to challenge Verstappen at the top of the timesheets, as knocked out were Kevin Magnussen, Lance Stroll, Fernando Alonso, Tsunoda, and Logan Sargeant.
Ahead of SQ3, work was carried on the floor of Verstappen’s car, just in front of the right-rear wheel.
There was no urgency when the segment did begin, the remaining runners only heading out for a single flying lap – the mandatory new soft tyres effectively guaranteeing an initial stalemate.
Mercedes pulled the trigger first, Hamilton leading from Russell as the pack queued in the pit lane to create space for themselves on track.
Leclerc only emerged on track with little more than 70 seconds remaining, leaving him precious little time to get on track with time to set a lap.
It wasn’t enough, and he failed to record a time and will start the Sprint from 10th.
Hamilton crossed the stripe with a 1:05.270s, the first driver to bank a time in the segment.
It wasn’t good enough as Russell went faster as did both McLarens, Norris ahead of Piastri.
Verstappen went faster still to secure pole while behind him followed the two McLarens, Russell in fourth, Carlos Sainz, then Hamilton, Sergio Perez, Esteban Ocon, Pierre Gasly, and Leclerc.