Red Bull's Sebastian Vettel will start Sunday's Canadian Grand Prix from pole position, which is his third straight in Montreal. His time was 1:25.425.
It was also a great session for Finn Valtteri Bottas, who guided his Williams into third on the grid with a time of 1:25.897.
Britain's Lewis Hamilton secured second place in his Mercedes as he managed a shootout time of 1:25.512, the only man inside a tenth of the German's time.
Paul Di Resta suffered a shock early exit as he failed to reach Q2, alongside Lotus's Romain Grosjean.
An accident from Felipe Massa in the second period caused a temporary delay to proceedings with a red flag; his qualifying was over and so was Jenson Button's, who could not make it into the shootout.
The rain continued to pour and it was in the slippery third sector where the cars seemed unable to go fast enough to catch the German's time that he set early in Q3.
Grid for Canadian Grand Prix:
1. Sebastian Vettel (Red Bull)
2. Lewis Hamilton (Mercedes)
3. Valtteri Bottas (Williams)
4. Nico Rosberg (Mercedes)
5. Mark Webber (Red Bull)
6. Fernando Alonso (Ferrari)
7. Jean-Eric Vergne (Toro Rosso)
8. Adrian Sutil (Force India)
9. Kimi Raikkonen (Lotus)
10. Daniel Ricciardo (Toro Rosso)
11. Nico Hulkenberg (Sauber)
12. Sergio Perez (McLaren)
13. Pastor Maldonado (Williams)
14. Jenson Button (McLaren)
15. Esteban Gutierrez (Sauber)
16. Felipe Massa (Ferrari)
17. Paul di Resta (Force India)
18. Charles Pic (Caterham)
19. Romain Grosjean (Lotus)
20. Jules Bianchi (Marussia)
21. Max Chilton (Marussia)
22. Giedo van der Garde (Caterham)