Valtteri Bottas gave Mercedes a front row lock-out as he rose ahead of Verstappen seconds before the Dutchman's late drama.
The two title contenders had different programmes in Q3 after Hamilton had to abandon his first flier as he went deep at the first corner and had to cut Turn 2, although he moved ahead of Bottas's initial effort of 1m28.143s with a 1m28.035s on a second attempt that immediate followed.
Red Bull sent Verstappen and teammate Sergio Perez out several minutes later into Q3 and the former slotted in ahead of the Mercedes drivers with a 1m27.653s on his first flying attempt in the final segment, after which he decried he needed "a tow" despite being 0.382s ahead of Hamilton, who's second attempt had looked ragged.
After a trip to the pits to alter his front wing settings, Hamilton put in a third and final flier that put him back to first place on a 1m27.511s, albeit without the fastest time in the first sector.
Bottas followed his teammate in completing a third run, having taken his second attempt later than Hamilton's, with Verstappen therefore the last of the three to complete a final lap – his second flier of Q3.
Verstappen appeared to be right on the limit all the way around the lap, nearly clipping the wall as he exited Turn 2 and rocketing to purple sectors in the opening tour thirds of the lap.
That put him 0.244s in front of Hamilton's time at that stage, but as he braked for the left-hand hairpin at the final corner his braking went wrong.
He locked up and when he picked up the throttle early in an attempt to recover the time he slid way and crashed into the wall on the outside, stopping near the inside wall on the approach to the pitlane.
Charles Leclerc took fourth after his heavy crash in FP2, finishing ahead of Perez in the second Red Bull and Pierre Gasly.
Lando Norris finished seventh with Yuki Tsunoda, Esteban Ocon and Antonio Giovinazzi rounding out the top 10.
All the top 10 runners bar Norris will start Sunday's race on the medium tyres after getting through the middle segment on that rubber.
Hamilton topped Q2, where Daniel Ricciardo and Kimi Raikkonen were the highest place fallers – the latter also clipping Bottas as he went around the Mercedes driver out of the final corner as they returned to the pits in an incident the stewards decided did not need investigating.
Fernando Alonso's late personal best lap could not save the second Alpine driver from elimination in 14th ahead of George Russell and Carlos Sainz.
Sainz had a wild opening two segments to qualifying, appearing to get impeded by Gasly at Turn 3 in Q1 – an incident that is being investigated now the session has ended – and then half-spinning at the exit of the fast Turn 10 90-degree right late in the first sector mid-way through Q2.
Sainz said he "saved" the incident, but his right-side rear wing endplate brushed the wall as he shot sideways and was sitting at an odd angle for the rest of the session, where the Spaniard had a hard time controlling his Ferrari and ended up 15h.
In Q1, which was topped by Perez, Nicholas Latifi and Sebastian Vettel set personal bests right at the end but were eliminated in 16th and 17th, with Lance Stroll abandoning his final flier as he was not set to improve.
Stroll therefore took 18th ahead of Mick Schumacher, who did complete a personal best right at the end of the segment but could climb no higher than 19th, with Nikita Mazepin finishing last.
|3||Max Verstappen||Red Bull||1'27.653||0.142|
|5||Sergio Perez||Red Bull||1'28.123||0.612|
|10||Antonio Giovinazzi||Alfa Romeo||1'28.754||1.243|
|12||Kimi Raikkonen||Alfa Romeo||1'28.885||1.374|
|15||Carlos Sainz Jr.||Ferrari||1'53.652||26.141|
|17||Sebastian Vettel||Aston Martin||1'29.198||1.687|
|18||Lance Stroll||Aston Martin||1'29.368||1.857|
|View full results|