Piastri narrowly missed out on pole position, falling just 0.074s shy of Verstappen at the end of the three-part qualifying hour.
McLaren enjoyed strong pace throughout, with Lando Norris third best just 0.02s back from his team-mate, while Daniel Ricciardo will start ninth after he progressed to Qualifying 3.
Following his practice crash, Fernando Alonso was out on track with minimal delays at the start of the session.
A strong initial lap from Piastri served to underscore his Free Practice 3 pace as he shot to the top of the timesheets ahead of Max Verstappen.
Norris backed up that pace by logging a time 0.025s faster to give McLaren an early one-two.
Meanwhile, a mistake from Fernando Alonso at Tamburello left the Aston Martin off the road, bouncing through the gravel before rejoining.
He sat only 16th at the time, one of the five drivers facing elimination from qualifying with four minutes remaining.
A stunning lap from Nico Hulkenberg saw the Haas driver shoot to the top of the timing screens before Verstappen toppled him as the chequered flag waved.
Ricciardo was in the bottom five at the time but his final lap was good enough for eight.
Not good enough were Valtteri Bottas, Sargeant, Zhou Guanyu, Kevin Magnussen, and Alonso, the Spaniard 1.2s off Verstappen’s pace and half a second slower than team-mate Lance Stroll, who was 13th.
That became 19th for Alonso when Sargeant’s lap was deleted for track limits at Piratella.
Verstappen was again the early pace-setted as Qualifying 2 began.
He headed team-mate Sergio Perez by half a second after their initial flying laps, though both McLaren and Ferrari ran later in the session.
When they did, Leclerc went 0.058s faster, with Piastri third-best 0.079s back from pole.
That became fourth when a shock lap from Yuki Tsunoda put the Japanese driver second, just 0.030s slower than Leclerc.
Tsunoda ultimately slipped to third as Verstappen topped the segment.
Ricciardo too progressed after a disappointing final effort from Sergio Perez left the Red Bull Racing short of what was needed to bump the Australian from 10th.
Also out were Ocon, Stroll, Albon, and Gasly.
Verstappen set the pace as Qualifying 3 began with a 1:14.869s, leaving him just under a tenth clear of Norris.
Then came Leclerc, Piastri, and Sainz after their first flying laps.
Opting for a different approach was Ricciardo, who remained in the garage, the only one of the 10 drivers not to set an early time.
He banked just a single lap moments before the chequered flag waved to start ninth.
Ferrari’s pace evaporated in the final run as Leclerc could do no better than fourth and Sainz fifth.
Verstappen found something extra, improving to 1:14.746s to claim pole.
It was a narrow one, however, with Piastri only 0.074s back in second and Norris 0.091s away in third.
Russell will start sixth, then came Tsunoda, Hamilton, Ricciardo, and Hulkenberg.