It was the world championship leader and six-time champion’s fifth win in Spain and his fourth in consecutive years, extending his record run of finishes in the points to 39.
Hamilton came home 24 seconds ahead of nearest title race rival Max Verstappen of Red Bull who finished 20 seconds ahead of Valtteri Bottas in the second Mercedes.
Hamilton had shared a record 155 podium finishes with Michael Schumacher whose other records for championships and wins are in the Briton’s sights this year.
His victory increased his lead in the drivers’ title race to 37 points ahead of Verstappen.
Sergio Perez, back in his Racing Point after missing two races with coronavirus, was fourth ahead of his team-mate Lance Stroll and Carlos Sainz of McLaren.
“Wow, I was in another zone then,” said Hamilton. “I didn’t even know it was the fastest lap. Thank you everyone… I was in a daze. Fantastic effort by the team.”
erstappen was satisfied with his result.
“To split them was the best we could do today,” he said.
“We didn’t have the speed of Lewis and it was important to get past Valtteri at the start.”
Bottas said: “I lost a place at the start and that was it — it’s so difficult to pass around here.”
Four-time champion Sebastian Vettel, in his final season with Ferrari and linked with a move to Aston Martin next year, finished seventh ahead of Alex Albon in the second Red Bull, Pierr Gasly of Alpha Tauri and Lando Norris who was 10th in the second McLaren.