Although Bottas had a slight advantage in the middle sector and was up on his teammate at the start of the final part of the lap, Hamilton was quicker in the first and third sectors to take his 11th pole of the year.
Sebastian Vettel couldn’t improve by enough on his last run thanks to losing time in the final sector and admitted there was maybe half-a-tenth missing, which would not have been enough to get onto the front row.
Max Verstappen was sixth fastest after abandoning his final run having complained about the tyres being too hot when he left the pits.
Five of the top six will start on ultrasofts having used that compound to set their times in Q2, the exception being Verstappen.
The Red Bull driver wasn’t quick enough on his ultrasoft run in Q2 and reported struggling for grip on turn-in, meaning he had to use hypersofts for his second run to ensure he reached Q3.
Romain Grosjean was best of the rest in seventh place, 0.045s faster than the Sauber of Charles Leclerc.
Racing Point Force India driver beat the Renault of Nico Hulkenberg to 10th, with the German failing to improve on his second run and slipping down from eighth place.
Carlos Sainz failed to make Q3 after being relegated to 11th by Verstappen’s late improvement on hypersofts in Q2.
He was a tenth-and-a-half faster than Ericsson, who beat Haas driver Kevin Magnussen to 12th place.
Force India driver Sergio Perez was 14th fastest, two tenths ahead of McLaren driver Fernando Alonso – who is making, for now, his swansong F1 appearance.
Toro Rosso pairing Brendon Hartley and Pierre Gasly were fastest of those eliminated in Q1 in 16th and 17th place.
They were shuffled back by improvements by Magnussen, Ericsson and Perez despite both improving on their final laps.
Hartley complained of a lack of entry stability compared, while Gasly suffered an engine problem at the end of his fastest qualifying lap and was ordered to stop on track after reporting smoke from the rear of the car.
Stoffel Vandoorne ended his final F1 qualifying session before heading to Formula E in 18th place, just ahead of Williams pairing Sergey Sirotkin and Lance Stroll – the duo separated by less than half-a-tenth.