But the Finn’s best lap, coming in at 1 minutes 18.348 seconds, denied Hamilton a career 100th pole by just 0.007 seconds.
But Bottas benefitted from a Max Verstappen error on the Red Bull Racing’s driver first lap in the pole shootout. The Dutchman ran wide at turn four trying to correct a snap of oversteer in the blustery conditions and subsequently had his time, which would have been 0.139 seconds ahead of Bottas’s best, deleted by the stewards.
All three pole contenders returned to the track of second attempts, but neither Mercedes improved their times and Verstappen couldn’t match his first lap, leaving him third on the grid.
“It’s a good feeling to be on pole,” Bottas said. “It feels like it’s been a while, so it’s nice to get a good qualifying.
“This weekend we’ve been working hard, and it’s nice to see it’s paying off.”
Hamilton, who leads Verstappen by a single point in the championship standings, was pleasantly surprised to form part of an all-Mercedes front row ahead of Red Bull Racing.
“We’ve got to be happy with that,” he said. “Not the perfect lap, but I gave it everything.”
Verstappen was notably emotional to have been denied pole through a relative innocuous error and lamented running into traffic on his second timed lap.
“I was confident we could do another good lap but in the last sector a car in front in the last two corners just disturbs you,” he said. “All qualifying was very difficult to drive. I was struggling a lot with grip.”
Sergio Perez lines up alongside the Dutchman after qualifying half a second off pole.
Carlos Sainz outqualified Ferrari teammate Charles Leclerc for the first time to take fifth on the grid ahead of Alpine’s Esteban Ocon.
Lando Norris was further from the front than he expected McLaren to be this weekend on his way to seventh alongside Leclerc on the fourth row of the grid.
Pierre Gasly qualified ninth for AlphaTauri ahead of Sebastian Vettel in 10th, the German making his first top-10 appearance in 15 races.
Williams driver George Russell will share the sixth row of the grid with Alfa Romeo’s Antonio Giovinazzi in 11th and 12th respectively.
Alpine’s Fernando Alonso tumbled to 13th, his first bottom-10 qualification of the year, ahead of AlphaTauri’s Yuki Tsunoda and Alfa Romeo’s Kimi Raikkonen.
Daniel Ricciardo was knocked out in a deeply disappointing 16th, the Australian throwing away his final lap with a lock-up and some costly moments of oversteer in the final sector to miss Q2 by just 0.042s.
Lance Stroll couldn’t turn his updated Aston Martin car into a high grid place and will take 17th on the grid ahead of Williams driver Nicholas Latifi and Haas duo Mick Schumacher and Nikita Mazepin.