Max Verstappen took second for Red Bull, the Dutch youngster awarded ‘drive of the day’ after crashing on the way to the grid in early drama that had his mechanics scrambling to fix the damage before the start.
Bottas, now five points behind Hamilton after three races, finished a close third after battling back from a botched start off the front row.
Hamilton’s 86th career victory, from his 90th pole position and collecting a bonus point for fastest lap, left the six-times world champion five short of Michael Schumacher’s all-time record of 91 wins.
“It was a pretty beautiful day, to be honest,” said Hamilton, who had lapped all but three cars by the time he pitted for soft tyres with three laps to go and a lead of more than 26 seconds.
The Briton also equalled Schumacher’s record of winning a grand prix eight times, something the Ferrari great achieved in France between 1994 and 2006.
“Round one had multiple different punches that I wasn’t perhaps ready for but I refocused and the last two have been fantastic,” Hamilton, fourth in the opener won by Bottas, said of the season so far.
“This weekend, we’ve just been on point throughout so we need to try and keep this up,” said the Briton, the only Black driver who again led other drivers in taking a knee before the start in support of anti-racism campaigns.
Hamilton, winner of the Styrian Grand Prix in Austria the weekend before, now has three wins in a row in Hungary, with the next two races on home soil at Silverstone.
Those will also be without spectators in a season overshadowed and delayed by the COVID-19 pandemic.