Hamilton's first effort in Q3 was enough to secure a fifth pole at Circuit Gilles Villeneuve, just one off Michael Schumacher's record tally.

Sebastian Vettel was once again third, within two tenths of Hamilton's searing pace - which came in just six tenths slower than the track record.

Cool Canadian conditions meant each of the three sessions were fraught as the front-runners each jostled for track position, with teams needing multiple installation laps to switch on the ultrasoft tyres.

Ferrari brought turbo upgrades to Montreal, with both Red Bulls enjoying the new Renault engine which had served Daniel Ricciardo so well in Monaco, but nobody was realistically able to get close to the Silver Arrows.

Hamilton and Rosberg were just 0.018 seconds apart after Q2, with that gap standing at 0.062secs after a pair of screaming first runs in the final session.

Double-defending world champion Hamilton was unable to improve on his time when the cars emerged at the end of the session, leaving the door open for Rosberg, but the German took to the pits after locking up on his flying lap to keep the Briton ahead.

Vettel remained out on track and, though he was not able to sneak onto the front row, his comparative pace suggests that Ferrari are once again well placed to challenge the championship leaders.

Ricciardo and Max Verstappen split the Ferraris in fourth and fifth respectively, with renewed grunt from the back end putting them in with a chance.

Williams pair Valtteri Bottas and Felipe Massa came home within a second of Hamilton in seventh and eighth, displaying how the field has bunched up ahead of Sunday, when forecast rain could increase the chances of an upset.

Provisional Classification:

1. Lewis Hamilton (Mercedes) 1:12.8122. Nico Rosberg    (Mercedes) 1:12.8743. Sebastian Vettel (Ferrari) 1:12.9904. Daniel Ricciardo (Red Bull) 1:13.1665. Max Verstappen (Red Bull) 1:13.4146. Kimi Raikkonen (Ferrari) 1:13.5797. Valtteri Bottas (Williams) 1:13.6708. Felipe Massa (Williams) 1:13.7699. Nico Hulkenberg (Force India) 1:13.95210. Fernando Alonso (McLaren) 1:14.338