Hamilton made his intentions clear early, sprinting away from the field behind him in the first stint to ensure he was never strategically threatened for the rest of the race.
It was Hamilton’s second win in succession, and the Briton acknowledged it had been by far his most complete race of the season.
“I felt that synergy today which I haven’t been feeling for the whole year,” he said. “It’s a really good feeling.
“I couldn’t have done it without this incredible team. These guys have done such an amazing job. I’m just proud of everyone.”
Sebastian Vettel had jumped Bottas to seize second place on the first lap and survived a strategic skirmish with the Finn before lap 20 to hold onto the position, but a tactical blunder by Ferrari under virtual safety car conditions at half distance cost the German his podium place.
The Scuderia took up the opportunity to give Vettel a fresh set of medium-compound tyres to correct his unusually early pit stop on lap 17, but he was delayed leaving his pit box by Sergio Perez making his way down the pit lane.
Vettel’s total stationary time was 5.6 seconds, dropping him to fourth behind both Bottas and Red Bull Racing’s Max Verstappen.
Vettel struggled to make enough of an impression on the Dutchman to make a move despite his seven-laps-fresher tyres and was forced to concede both places.
Bottas completed Mercedes’s first one-two finish of the year, albeit more than 20 seconds behind his imperious teammate.
“Of course I wanted to fight for the win today, but for the team it’s so good,” he said. “We have such a good car.
“I think as a team this weekend we’ve been perfect. We just need to continue like that – and for me also. The wins will come.”
Verstappen was pleased to take third place despite a messy minor crash with a Williams car behind the virtual safety car on lap 4.
The Red Bull Racing driver rear-ended Lance Stroll at the reduced virtual safety car speeds, damaging his front wing, but the aerodynamic disadvantage didn’t seem to hamper his podium defence.
“The car was working really well,” he said. “I had to keep pushing because I had Sebastian behind me.
“We got the luck with Kimi [Raikkonen, Ferrari] retiring, but the tyres were handling really well, so I think that gave us third position today.”
Vettel finished fourth, less than a second behind Verstappen but 22 seconds ahead of the Dutchman’s teammate, Daniel Ricciardo.
The race started with a bang when Romain Grosjean managed to clean up Nico Hulkenberg and Pierre Gasly on the first lap.
Grosjean was attempting to drive around the outside of the bunched-up pack at turn three, but his Haas ran out of grip, and the Frenchman spun across the track and into the traffic.
Both Hulkenberg and Gasly attempted to take evasive action, but neither got away from the scene of the crash unscathed, the Renault losing its rear-left corner and Gasly being collected head-on.
All three retired on the spot, with Grosjean requiring precautionary medical checks due to the significance of forces in the crash.
Grosjean teammate, Kevin Magnussen, finished best of the midfield drivers in sixth thanks to Kimi Raikkonen’s lap-25 retirement with a power unit problem, and Renault’s Carlos Sainz came home seventh.
Fernando Alonso finished a strong eighth in his home grand prix for McLaren, ahead of Force India’s Sergio Perez in ninth and Sauber’s Charles Leclerc, who collected the second point-paying place of his career in tenth.
Don’t forget to tune-in to Live89.5 each and every Saturday at 9am to listen to Box of Neutrals talk everything there is to talk F1 and a whole lot more.