After leading twice, Hamilton was passed by Bottas with three laps remaining and then resisted Red Bull’s Max Verstappen to take his 150th podium finish and his 31st successive finish in the points.
It sealed his sixth title, leaving him one adrift of Michael Schumacher on seven.
Lewis Hamilton added the 2019 title to previous triumphs in 2008, 2014, 2015, 2017 and 2018.
“I can’t believe it, thanks a lot,” Hamilton said over the team radio as he moved out of a tie for five titles he held with Argentina’s Juan-Manuel Fangio.
He added: “It’s just overwhelming if I’m really honest. It was such a tough race today, Valtteri did a great job. As an athlete I feel as fresh as can be. We’ll keep pushing for the rest of the season.”
“I didn’t know if it would be possible but I worked as hard as I could here with my team back at the factory. My mum, dad, step-mum and step-dad and my family are here and it’s an honour to be here with six titles with those greats.
‘Never give up’
“My dad told me when I was like six or seven never to give up and that’s kind of the family motto.”
It was Bottas’s fourth win of the season and the seventh of his career.
“It’s a good win,” said the Finn. “Personally, I failed on my target this year, but Lewis deserves it. He’s had a good season.”
Hamilton parked his Mercedes in a space “reserved for the champion” before leaping into the arms of his family and friends.
Verstappen finished third ahead of Charles Leclerc of Ferrari — some compensation to team boss Mattia Binotto on his 50th birthday following the early retirement, with broken suspension, of Sebastian Vettel — with Alex Albon fifth in the second Red Bull.
Daniel Ricciardo was sixth for Renault ahead of the two McLarens of Lando Norris and Carlos Sainz, Nico Hulkenberg in the second Renault and Toro Rosso’s Daniil Kvyat.
On a perfect blue-skied day, the race began with an explosive rush uphill towards Turn One, Bottas taking full advantage of his pole position with a flawless start.
Behind him, Verstappen pulled alongside Vettel to take second while Hamilton followed and took advantage of both Ferraris.
“I must have damage,” reported Vettel. “I didn’t hit anything, but I have under-steer like crazy.”
By lap five, he had tumbled to seventh, but worse followed when his car’s suspension failed, the right-rear collapsing as he went through Turn Nine.
Vettel’s exit left Hamilton chasing Verstappen who pitted early, on lap 14, for a set of hard tyres.
One lap later, Bottas came in, also for hards, and Hamilton inherited the lead. The Finn was soon past Leclerc to claim second as the Silver Arrows led the field.
“Just be sensible,” Red Bull warned Verstappen, who had a new rear wing fitted on the grid.
He was soon up to third in hot pursuit while Bottas, on fresh rubber, cut chunks of time from Hamilton’s lead, reducing it from 15 seconds to 6.6 by lap 20.
Leclerc pitted from fourth on lap 21, but was held for 7.7 seconds as his crew struggled to fit his left rear wheel.
Like Hamilton, still nursing his original mediums, he was presumed to be on a one-stop strategy.
Hamilton was asked to pit on lap 24. “Box, box,” said his engineer, but the driver said no. “I want to go longer,” he replied, ignoring a Mercedes team request.
A lap later, he was in and stationary for 2.4 seconds, re-joining third on hard tyres, 23 seconds behind Bottas and 15 in arrears to Verstappen.
Hamilton quickly clocked a fastest lap to his team’s alarm, fearing tyre welfare.
Five laps later, Verstappen pitted again for mediums and re-joined third. Bottas followed one lap later, re-joining second ahead of the Dutchman as Hamilton led again, by ten seconds.
With 20 to go, it appeared to be all about tyre-wear for the leading trio.
With 12 laps to go, Bottas was 3.6 seconds behind Hamilton and six ahead of Verstappen.
Leclerc was a distant fourth, by 50 seconds. For Bottas, it was a tall order to catch the Englishman and even more to pass him without risking everything for Mercedes.
On lap 52, Bottas tried a pass, but Hamilton resisted and forced him wide.
A lap later and it was done, the Finn regaining his lead to leave Hamilton at the mercy of the rampant Verstappen — a threat he resisted.