Lewis Hamilton ended Ferrari's run of pole positions by dominating qualifying for the Canadian Grand Prix.
The McLaren driver - who claimed his first pole and win at the Montreal track a year ago - topped Q1 and Q2, and held a comfortable provisional pole after the first Q3 runs.
He was then briefly deposed by Robert Kubica, but improved further with his second lap to beat the BMW to pole by a commanding 0.6 seconds.
Kubica held on to the outside front row spot - a remarkable result after his horrifying crash at the track twelve months ago.
Ferrari could only manage third and sixth places. Kimi Raikkonen was nearly a second slower than Hamilton in third place, while Felipe Massa - who had taken pole for the last two GPs - was pushed back to the third row by Fernando Alonso and Nico Rosberg.
The Renault driver was rapid throughout qualifying, recovering from an early trip off the road in Q1 to easily reach the top ten and claim his second-best starting position of the year, ahead of the similarly-impressive Rosberg.
Hamilton's teammate Heikki Kovalainen could only manage seventh in the second McLaren, alongside Kubica's BMW teammate Nick Heidfeld.
Rubens Barrichello took an impressive ninth place for Honda after reaching Q3 for the first time this season.
The always-treacherous Montreal circuit was made even more challenging in qualifying as the track surface began to break up in several places, despite having been repaired in some areas prior to practice this morning. The marshals attempted to sweep the resultant debris off the racing line between each segment, but conditions remained difficult.
Having earned a top ten place by virtue of an excellent fourth place in Q2, Mark Webber then spun into the Turn 7 wall right at the end of the second segment, having fallen foul of the 'marbles' at the chicane where the track surface was breaking up.
The Red Bull was left with damaged right front suspension and had to sit out Q3, leaving Webber 10th on the grid, three places ahead of teammate David Coulthard.
For the first time this year, Jarno Trulli failed to reach Q3. The Italian spun once in Q1 and then twice in Q2 on the way to a frustrating 14th place. His tribulations meant that he ended up being outqualified by Toyota teammate Timo Glock for the first time, as the German took 11th place, having only been pushed out of the top ten by a last gasp Q2 effort from Nick Heidfeld.
Kazuki Nakajima (Williams) missed out on a top ten position by 0.042 seconds and had to settle for 12th on the grid, while Nelson Piquet struggled in qualifying again, only managing 15th after lapping 0.9 seconds slower than teammate Alonso in Q2.
Jenson Button's abject weekend continued as a gearbox problem developed on his first Q1 run and left him 19th, ahead of only Sebastian Vettel, who had to sit out qualifying due to the damage his Toro Rosso sustained in his practice crash.
Vettel's teammate Sebastien Bourdais took 16th, while Button and Vettel's problems allowed the Force Indias to move up to the ninth row. Adrian Sutil outqualified teammate Giancarlo Fisichella for only the second time, taking 17th place.
Pos Driver Team Q1 Q2 Q3 Laps 1. Hamilton McLaren-Mercedes 1:16.909 1:17.034 1:17.886 19 2. Kubica BMW Sauber 1:17.471 1:17.679 1:18.498 14 3. Raikkonen Ferrari 1:17.301 1:17.364 1:18.735 23 4. Alonso Renault 1:17.415 1:17.488 1:18.746 22 5. Rosberg Williams-Toyota 1:17.991 1:17.891 1:18.844 26 6. Massa Ferrari 1:17.231 1:17.353 1:19.048 23 7. Kovalainen McLaren-Mercedes 1:17.287 1:17.684 1:19.089 25 8. Heidfeld BMW Sauber 1:18.082 1:17.781 1:19.633 21 9. Barrichello Honda 1:18.256 1:18.020 1:20.848 25 10. Webber Red Bull-Renault 1:17.582 1:17.523 15 11. Glock Toyota 1:18.321 1:18.031 19 12. Nakajima Williams-Toyota 1:17.638 1:18.062 19 13. Coulthard Red Bull-Renault 1:18.168 1:18.238 19 14. Trulli Toyota 1:18.039 1:18.327 16 15. Piquet Renault 1:18.505 1:18.393 18 16. Bourdais Toro Rosso-Ferrari 1:18.916 10 17. Sutil Force India-Ferrari 1:19.108 12 18. Fisichella Force India-Ferrari 1:19.165 12 19. Button Honda 1:23.565 3 20. Vettel Toro Rosso-Ferrari All timing unofficial