Canadian Grand Prix
Dates: 6-8 June Coverage: Radio 5 Live and BBC Sport website
Hamilton took an eighth pole in 24 starts and his second in Montreal
Lewis Hamilton delivered a devastating last lap to claim his second successive pole for the Canadian Grand Prix.
The McLaren driver clocked one minute 17.886 seconds to better Robert Kubica's mark for BMW Sauber by more than half a second.
Kimi Raikkonen lines up third for Ferrari alongside Renault's Fernando Alonso, who did well to qualify fourth.
Jenson Button will start at the back after he was forced to withdraw his Honda because of gearbox problems.
The Briton will share the back row with Toro Rosso's Sebastian Vettel, who did not take part in qualifying after ploughing into the wall during final practice.
Hamilton topped the timesheets in all three qualifying sessions in Montreal with a characteristic display of attacking but assured driving.
Ferrari desperately tried to close down the world championship leader in the dying minutes but, though they were fast through the first two sectors, they could not match the McLaren man's pace.
Kubica, who suffered a high-speed crash at the Circuit Gilles Villeneuve last year, came closest to toppling Hamilton as he clocked 1:18.498 with just seconds left.
But Hamilton, who had just started his final hot lap, comfortably eclipsed that mark to take his eighth career pole.
"I felt at home in qualifying," said the Briton. "The team did a great job in the early stages of each qualifying session.
"I had a feeling that Kimi was hunting me down, so I knew I had to stick it out and make sure I got a good lap.
"I think I found six or seven tenths (of a second) there, so I'm pretty happy with it.
"It was a bit similar to last year and it felt just as good."
Nico Rosberg, who was fastest in final practice, claimed fifth spot ahead of Ferrari's Felipe Massa and McLaren's Heikki Kovalainen.
BMW Sauber's Nick Heidfeld, Honda's Rubens Barrichello and Mark Webber for Red Bull completed the top 10.
It could have been so much better for Webber, who qualified fifth fastest in the second period of qualifying, if he had not bumped into the wall at the end of the session.
I don't think we have the pace to win here
The Australian had to sit out the top-10 shootout because of damage to his Red Bull and he was not the only driver to blame a disintegrating track for difficulties during qualifying.
The Montreal track was breaking up so badly that marshalls emerged with brushes to sweep up the circuit, and similar conditions could play a part during the race.
"The track surface will make it tricky," said Hamilton, who claimed his maiden Grand Prix victory in Montreal from pole in 2007.
"It will be difficult but having the experience of leading last year will help. We will try to do the best we can and get as many points as possible."
Kubica, who has two second-place finishes this season, also played down his chances of capitalising on his front row position on the grid.
"Looking at practice, Ferrari and McLaren have the better pace and unfortunately I am starting on the wrong side of the track but I will do my best, he said.
"It is one of my favourite tracks but I don't think we have the pace to win here."
Qualifying results for the Canadian Grand Prix:
1. Lewis Hamilton (Britain) McLaren - Mercedes 1:17.886
2. Robert Kubica (Poland) BMW Sauber 1:18.498
3. Kimi Raikkonen (Finland) Ferrari 1:18.735
4. Fernando Alonso (Spain) Renault 1:18.746
5. Nico Rosberg (Germany) Williams 1:18.844
6. Felipe Massa (Brazil) Ferrari 1:19.048
7. Heikki Kovalainen (Finland) McLaren 1:19.089
8. Nick Heidfeld (Germany) BMW Sauber 1:19.633
9. Rubens Barrichello (Brazil) Honda 1:20.848
10. Mark Webber (Australia) Red Bull - Renault 1:17.523
11. Timo Glock (Germany) Toyota 1:18.031
12. Kazuki Nakajima (Japan) Williams 1:18.062
13. David Coulthard (Britain) Red Bull - Renault 1:18.238
14. Jarno Trulli (Italy) Toyota 1:18.327
15. Nelson Piquet (Brazil) Renault 1:18.393
16. Sebastien Bourdais (France) Toro Rosso - Ferrari 1:18.916
17. Adrian Sutil (Germany) Force India - Ferrari 1:19.108
18. Giancarlo Fisichella (Italy) Force India - Ferrari 1:19.165
19. Jenson Button (Britain) Honda 1:23.565
20. Sebastian Vettel (Germany) Toro Rosso - Ferrari no time