Hamilton overcame a 0.231-second deficit to Bottas after the first runs to take a 0.086-second lead with his second lap, and when the Finn failed to improve on his final attempt the Briton was able to record only his second pole position in Monte Carlo.
“This is a race that every driver dreams of,” an emotional Hamilton said. “All the work we put in — all the guys back at the factory have worked tirelessly, so we’ve arrived with a great car.
“The desire and the will to get this pole — it means so much to me. I had to dig deeper than ever. I’m so proud I could get that deep.
“The lap was beautiful. I feel amazing and just super grateful.”
Bottas was disappointed to lose pole after looking like the quicker Mercedes driver for most of the weekend, and the Finn blamed poor tyre preparation for his second lap for his uncompetitive final time.
“I still felt after the first lap that there was still plenty of place I could improve,” he said. “On the out lap I had a lot of traffic — I couldn’t get the tyres hot enough for the times lap and that was it.
“I felt I had it today, but obviously not.”
Max Verstappen qualified third, almost half a second off pole, but the Dutchman put his Red Bull Racing car a comfortable 0.4 seconds ahead of teammate Pierre Gasly in fifth — though the Frenchman is under investigation for impeding Romain Grosjean in Q2.
The Red Bull Racing drivers sandwiched Ferrari’s Sebastian Vettel in fourth, whose final lap was marred by a slap against the outside barrier at Tabac. It didn’t damage his car, but it prevented him from improving his time, confining him to the second row.
It was the culmination of a torrid day for Ferrari, which lost Charles Leclerc in 16th place after it neglected to send him out for a second lap during Q1 when the track was rapidly improving.
The strategic error came against the frenetic backdrop of the team undertaking a precautionary check on Vettel’s car after the German brushed the barriers at Swimming Pool. With the pit wall apparently focussed on ensuring Sebastian could get back onto the track in time to set a representative lap, it appeared to miss the fact Charles had slipped towards the bottom of the time sheet.
Ironically it was Vettel’s lap that finally pushed Leclerc into the knockout zone while the Monegasque driver watched on from his garage.
“I asked whether they were sure, they told me, ‘We think we are’,” Leclerc explained to UK’s Sky Sports F1. “I don’t have any explanations yet in detail. A very difficult one to take.”
Charles said his only hope of a good result at his home race was to wish for rain.
“If it’s dry, it’s going to be boring,” he said. “I’ll have to take a lot of risk, I think, even risking to crash, but that’s the only thing to do now.”
With one of the frontrunners missing from the top-10 shootout, Kevin Magnussen’s way was clear to qualify sixth for Haas ahead of Renault driver and 2018 Monaco winner Daniel Ricciardo.
Toro Rosso teammates Daniil Kvyat and Alex Albon qualified eighth and 10th, sandwiching McLaren’s Carlos Sainz in ninth.
Nico Hulkenberg and Lando Norris qualified 11th and 12th ahead of Haas’s Romain Grosjean, who complained Pierre Gasly impeded him on his final Q2 lap in an event likely to draw the ire of the stewards.
Alfa Romeo drivers Kimi Raikkonen and Antonio Giovinazzi were eliminated in 14th and 15th ahead of Leclerc in 16th.
Racing Point teammates Sergio Perez and Lance Stroll qualified 17th and 18th ahead of Williams duo George Russell and Robert Kubica on the back row.