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.
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.
“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.”
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.
“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.
“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.
The F1 season continues in two weeks’ time, with the Belgian Grand Prix on August 28 at Circuit de Spa-Francorchamps.