The Dutchman overcame a two-tenth deficit to Alonso in the final sector to make a last-gasp swoop for the fastest time, his resulting 1m11.365s cementing his first pole position in qualifying at the Monte Carlo circuit.
Verstappen had set a banker with a 1m12.102s at the start of the session, but the lap was immediately outclassed by Alonso, who grabbed a 1m11.706s to raise the bar considerably - and felt that he'd "pushed like an animal" to draw first blood.
The Ferraris of Charles Leclerc and Carlos Sainz were unable to beat Alonso's time, but moved ahead of Verstappen in the order as the Red Bull driver was forced to abandon his initial riposte.
Verstappen had another crack on his initial set of tyres and fell slightly short of Alonso in the opening sectors, but nailed the Rascasse and Antony Noghes corners to move to the top with a 1m11.654s.
Esteban Ocon made a surprise charge to the top with a 1m11.553s as the second round of runs began, until Leclerc put his Ferrari above him with a 1m11.471s.
Alonso then charged to provisional pole with a 1m11.449s, sending his Aston Martin mechanics into raptures, but all eyes were on Verstappen as he was set to close out the session.
Verstappen was over a tenth shy in the opening sector and his arrears grew to over two tenths, but he found three tenths over Alonso to dampen Aston Martin's spirits.
Leclerc's lap was good enough to start on the second row, alongside Ocon after the Alpine driver's surprisingly strong effort was enough for fourth.
Sainz joined Lewis Hamilton on the third row, as the Mercedes driver scraped through into Q3, as Gasly and Russell filled out the fourth row. Yuki Tsunoda and Lando Norris completed the top 10, the latter able to return to the circuit after tagging the wall at Tabac in Q2.
Source: Autosport