Sebastian Vettel beat Lewis Hamilton to Canadian Grand Prix pole in a wet qualifying session, as Valtteri Bottas starred to put Williams third.
The rain level fluctuated throughout each segment, and in Q3 the best shot at pole came in the opening moments before track conditions deteriorated further.
Vettel judged it best and put in a 1m25.425s for Red Bull.
It still looked vulnerable as driver after driver improved in the first two sectors, but the rain was heavier in the final part of the track and no one could make an overall gain.
Hamilton tried his utmost to continue Mercedes' pole streak but fell 0.087 seconds short, sliding over the chicane on a dramatic final bid.
Bottas was the hero of qualifying. Williams had not made it into Q3 at all in 2013 until Canada, where the Finnish rookie flew throughout the session.
He beat Nico Rosberg, dominant in qualifying for Mercedes for the last three races, to third place.
Friday pacesetter Fernando Alonso could only manage sixth for Ferrari, behind Mark Webber's Red Bull.
Toro Rosso got both cars into Q3. Jean-Eric Vergne and Daniel Ricciardo claimed seventh and 10th, split by Adrian Sutil's Force India and Kimi Raikkonen's Lotus.
The second Ferrari will start down in 16th due to Felipe Massa spinning into the Turn 3 barriers in Q2 and causing a red flag.
That triggered a two-minute scramble on an improving track to try to secure the final Q3 places.
It was Sutil and Ricciardo who succeeded, but it proved painful for McLaren, winner of the last three Canadian GPs.
Jenson Button was outside the cut at the time and mistimed his attempt to find clear track position, not making it past the flag in time.
That left him 14th, while team-mate Sergio Perez's failure to improve meant he was pushed back to 12th, alongside Nico Hulkenberg's Sauber.
Pastor Maldonado's Williams and the second Sauber of Esteban Gutierrez were the other Q2 casualties.
Paul di Resta and Romain Grosjean did not get that far. Both were denied chances to progress when the rain intensified in the closing minutes of Q1.
Grosjean, who already faces a 10-place grid penalty for running into Ricciardo in Monaco, had made a mistake on an earlier run, while di Resta lost time in the garage with gearbox issues.
Charles Pic looked like he might just replicate Caterham team-mate Giedo van der Garde's Q2 heroics from Monaco as he sat 11th near the end of Q1. But after a spin at Turn 6, he slipped to 18th.
Pos Driver Team Time Gap
1. Sebastian Vettel Red Bull-Renault 1m25.425s
2. Lewis Hamilton Mercedes 1m25.512s + 0.087s
3. Valtteri Bottas Williams-Renault 1m25.897s + 0.472s
4. Nico Rosberg Mercedes 1m26.008s + 0.583s
5. Mark Webber Red Bull-Renault 1m26.208s + 0.783s
6. Fernando Alonso Ferrari 1m26.504s + 1.079s
7. Jean-Eric Vergne Toro Rosso-Ferrari 1m26.543s + 1.118s
8. Adrian Sutil Force India-Mercedes 1m27.348s + 1.923s
9. Kimi Raikkonen Lotus-Renault 1m27.432s + 2.007s
10. Daniel Ricciardo Toro Rosso-Ferrari 1m27.946s + 2.521s
Q2 cut-off time: 1m36.811s Gap **
11. Nico Hulkenberg Sauber-Ferrari 1m29.435s + 1.786s
12. Sergio Perez McLaren-Mercedes 1m29.761s + 2.112s
13. Pastor Maldonado Williams-Renault 1m29.917s + 2.268s
14. Jenson Button McLaren-Mercedes 1m30.068s + 2.419s
15. Esteban Gutierrez Sauber-Ferrari 1m30.315s + 2.666s
16. Felipe Massa Ferrari 1m30.354s + 2.705s
Q1 cut-off time: 1m24.776s Gap *
17. Paul di Resta Force India-Mercedes 1m24.908s + 2.590
18. Charles Pic Caterham-Renault 1m25.626s + 3.308
19. Romain Grosjean Lotus-Renault 1m25.716s + 3.398
20. Jules Bianchi Marussia-Cosworth 1m26.508s + 4.190
21. Max Chilton Marussia-Cosworth 1m27.062s + 4.744
22. Giedo van der Garde Caterham-Renault 1m27.110s + 4.792
107% time: 1m28.080s
* Gap to quickest in Q1
** Gap to quickest in Q2