The Mercedes driver never relinquished his position at the front of the pack, having started on pole in Barcelona, to claim his fourth win of the season.
The win moves him to within three of Michael Schumacher’s all-time record of 91 and 37 points clear of Max Verstappen in the F1 2020 driver’s championship standings.
Red Bull driver Verstappen came from third in the starting grid to finish second — over 24 seconds behind Hamilton — having overtaken Valtteri Bottas who finished third.
“I was in a daze out there,” Hamilton said after the victory. “It felt really good. It was a fantastic effort from the team.
“It was a surprise because we had that problem with the tires (at the last race), but we seem to have understood it. I didn’t even know it was the last lap I was so zoned in. I thought for a little bit about going for a one-stop strategy.”
READ: Lewis Hamilton, Formula One’s voice and conscience
Leading from start to finish
Having won last week at Silverstone and with similar temperatures scheduled, Verstappen was many people’s favorite to win in Barcelona.
“The track is very different so we don’t expect the same blistering issues but more degradation and more overheating. And I believe Red Bull masters those conditions very well,” Mercedes team boss Toto Wolff said on Saturday.
“We’ve improved and that is most important, and I hope we can give him a run for his money. But definitely Max needs to seen as the favorite based on yesterday’s long runs.”
But it was an all-Mercedes front row, with Hamilton claiming his 92nd pole of his career.
And the British driver has a relatively unscathed run in Barcelona, leading from start to finish to claim the 88th win of his career and his fifth Spanish GP win.
By finishing on the podium for the 156th time in his 256th race, the 35-year-old etched his name in the record books, as he now has the most podium finishes in history.
“It was good to split the two Mercedes. I didn’t have the pace like Lewis but I’m happy with second,” Verstappen said. “The start was crucial to get ahead of Valtteri (Bottas), then I was just trying to go at my own pace.
“I expect more. After the second stint, I was happy with my tires and Valtteri wasn’t catching so felt I comfortable. We keep trying to improve but (Mercedes) keep pushing, so we’ll see.”
Bottas finished over 20 seconds behind Verstappen in third, while Racing Point completed the top five as Sergio Perez pipped Lance Stroll to fourth position.
Visit CNN.com/sport for more news, features, and videosFerarri driver Charles LeClerc, who started in ninth position, was forced to retire after his car suffered a power failure.
The F1 season continues in two weeks’ time, with the Belgian Grand Prix on August 28 at Circuit de Spa-Francorchamps.