Hamilton had nosed ahead of Bottas after their first laps but had failed to improve with his final lap to seal the deal. However, Bottas was forced to abandon his own second lap when Renault’s Esteban Ocon spun his car through the gravel ahead of him at Poggio Secco, handing his teammate pole.
The Finn had clean swept all three practice sessions before qualifying, and Hamilton admitted to feeling on the back foot in the fight for pole.
“It’s been a really, really tough weekend if I’m honest,” he said. “It’s a really, really challenging circuit.
“I’ve been working so hard in the background to try and improve on my lines, improve on the set-up, and with the engineers we did such an amazing job.”
The stroke of bad luck compounded Bottas’s bleak championship outlook. Sitting 47 points behind Hamilton in the standings with nine grands prix remaining the Finn is rapidly falling out of touch with his title ambitions.
“The yellow flag definitely hampered me,” he said. “I had more to come but didn’t get the opportunity.
“It’s disappointing as I’ve been quick all weekend.”
Max Verstappen qualified his customary third for Red Bull Racing, but the Dutchman’s 0.365-second deficit was never likely to be breached.
“I personally never expected to really fight them in qualifying, but I think overall so far this weekend has been really promising,” he said.
“At the end to be third here in qualifying, we can be very happy with that.”
Thai driver Alex Albon starts alongside Verstappen on the second row in his equal best career qualifying result.
Charles Leclerc will start a shock fifth on the grid for his Ferrari team’s 1000th grand prix start, the Mugello circuit hiding some of the team’s weaknesses.
Racing Point teammates Sergio Perez and Lance Stroll qualified sixth and seventh respectively but will swap places on the grid once Perez serves a one-place penalty for causing a crash during Friday practice.
Renault’s Daniel Ricciardo beat McLaren’s Carlos Sainz to eighth on the grid, while Ocon will start 10th.
McLaren’s Lando Norris qualified 11th, his lowest grid position of the year, ahead of AlphaTauri’s Daniil Kvyat, who binned his final flier across the gravel at Savelli.
Kimi Raikkonen outqualified Sebastian Vettel, the Alfa Romeo driver pipping the works Ferrari to 13th by 0.004s, and Romain Grosjean qualified 15th for Haas.
Pierre Gasly, who won his maiden grand prix at Monza last weekend, was knocked out in 16th ahead of Alfa Romeo’s Antonio Giovinazzi.
Williams teammates George Russell and Nicholas Latifi will start 18th and 19th respectively. Russell started the session with a misaligned steering rack and dipped two wheels onto the gravel on his final lap.
Kevin Magnussen will start the Tuscan Grand Prix from last for Haas.