Antonio Felix da Costa took pole position for the second Formula Renault 3.5 race at Monza after a battle with race-one winner Stoffel Vandoorne.
After Kevin Magnussen had led the way for much of the wet session, da Costa and Vandoorne stepped things up a notch and engaged in what soon became an exclusive fight for pole.
The Red Bull junior struck first with five minutes to go, but McLaren-affiliated Vandoorne beat that time just a minute later.
Da Costa responded to snatch the place back, and as Vandoorne toured back to the pits with an electrical problem just before the chequered flag came out, his rival went even faster to stretch his advantage out to three tenths of a second.
"On the last couple of laps we had a misfire develop," Vandoorne told AUTOSPORT. "It was coming in at high speed to begin with, so I couldn't stay out as the track was drying.
"The team is working to fix the problem now and hopefully they should get it done before the race."
Their scrap for pole left the top two seven tenths clear of Vandoorne's fellow McLaren junior Magnussen, but the Dane was able to reduce that margin to 0.6 seconds with his final lap.
Draco's Nico Muller qualified on the second row but will drop four places for causing a
collision with Lucas Foresti in race one. A late improvement from race-one front row starter Sergey Sirotkin got him into the top five for the second day running.
Lucas Foresti and Pietro Fantin were next up, just ahead of Will Stevens.
Marco Sorensen, who had more wet tyres available than anyone after not using wets during Saturday's session, could only manage ninth, while rookie Norman Nato completed the top 10.
Pos Driver Team Time Gap Laps
1. Antonio F. da Costa Arden Caterham 1m47.865s 14
2. Stoffel Vandoorne Fortec 1m48.252s + 0.387s 12
3. Kevin Magnussen DAMS 1m48.527s + 0.662s 13
4. Nico Muller Draco 1m48.636s + 0.771s 14 (*)
5. Sergey Sirotkin ISR 1m48.651s + 0.786s 15
6. Lucas Foresti Comtec 1m48.809s + 0.944s 14
7. Pietro Fantin Arden Caterham 1m48.903s + 1.038s 15
8. Will Stevens P1 1m48.935s + 1.070s 13
9. Marco Sorensen Lotus 1m49.163s + 1.298s 15
10. Norman Nato DAMS 1m49.174s + 1.309s 13
11. Oliver Webb Fortec 1m49.205s + 1.340s 15
12. Matias Laine P1 1m49.380s + 1.515s 14
13. Mikhail Aleshin Tech 1 1m49.394s + 1.529s 14
14. Nigel Melker Tech 1 1m49.404s + 1.539s 14
15. Daniil Move Comtec 1m49.490s + 1.625s 14
16. Arthur Pic AV Formula 1m49.585s + 1.720s 14
17. Andre Negrao Draco 1m49.696s + 1.831s 14
18. Jazeman Jaafar Carlin 1m49.761s + 1.896s 15
19. Christopher Zanella ISR 1m49.796s + 1.931s 15
20. Emmanuel Piget Zeta Corse 1m49.963s + 2.098s 13
21. Marlon Stockinger Lotus 1m50.037s + 2.172s 14
22. Nikolay Martsenko Pons 1m50.180s + 2.315s 12
23. Zoel Amberg Pons 1m50.385s + 2.520s 12
24. Carlos Huertas Carlin 1m50.697s + 2.832s 15
25. Yann Cunha AV Formula 1m50.697s + 2.832s 14
26. Mihai Marinescu Zeta Corse 1m51.318s + 3.453s 14
* Drops to 8th after penalty