The series leader and six-time champion registered his 89th career win with another flawless drive to take his fourth Belgian triumph, finishing 8.448 seconds clear of his Mercedes team-mate Valtteri Bottas.
It was Hamilton's fifth win in seven races this year and extended his record run of points-scoring races to 40.
Max Verstappen came third for Red Bull, seven seconds further adrift, to claim his sixth podium finish in succession.
Hamilton, who had to nurse his car home on worn tyres, has 157 points in the title race, 47 clear of Verstappen. The "black arrows” lead the constructors' championship with 264 points, well ahead of Red Bull on 158.
"It wasn't the easiest of races," said Hamilton. "It was a bit of a struggle, but nonetheless I think it was ok in the end."
At the British Grand Prix at the start of August, Hamilton had clung on to win after one of his tyres disintegrated.
"I was concerned that we'd have a scenario like Silverstone, but the tyre seemed to have quite a bit of rubber left on it at the finish."
Bottas admitted he could not match his team-mate's pace.
"The start was a good opportunity, but Lewis played it really well and I just couldn't catch him. In the same car, with Lewis driving a flawless race, it was really difficult."
Verstappen said he had a dull afternoon.
"It was pretty boring, not very interesting and not much to do," he said. "I ran out of tyre at the end so I was just stretching it out and saving the tyres."
Daniel Ricciardo produced the fastest lap on his final lap as he claimed fourth ahead of his Renault team-mate Esteban Ocon, and Alex Albon, in the second Red Bull.
Lando Norris was seventh in the sole McLaren.
Pierre Gasly finished eighth for Alpha Tauri ahead of the Racing Points of Lance Stroll and Sergio Perez. On a troubled weekend, last year's winner Charles Leclerc was 14th, one place behind outgoing Ferrari team-mate Sebastian Vettel.
Drama and ceremony
On a cool dry day in the Ardennes, the race was preceded by drama and ceremony with Carlos Sainz's McLaren suffering an exhaust failure that ruled him out and then a minute's silence, in memory of French F2 racer Anthoine Hubert, and the now-familiar drivers' anti-racism demonstration before the national anthem.
Hamilton made a smooth start from his record 93rd pole position ahead of Bottas while Verstappen fought to defend third position against Ricciardo.
Bottas chased Hamilton in vain, the champion controlling his advantage with imperious speed in the early laps as they pulled clear of the rest.
"We have one push now?" asked Bottas.
"Yes, but we agreed not to use it against each other," replied Mercedes.
"I've never heard of that," replied the clearly miffed Finn, who had said on Saturday that he would attack his team-mate to keep alive his own title bid.
The safety car came out on lap 11 after a collision involving Alfa Romeo's Antonio Giovinazzi and George Russell of Williams. The Italian spun into the barriers in front of the Briton whose car was hit by an errant rear wheel as he took evasive action.
The damaged cars left debris strewn across the circuit, but the drivers walked away unhurt.
"I'm ok," said Russell on team radio. "Nowhere I could go, guys."
The leaders pitted immediately, Bottas only just returning ahead of Verstappen after a slow stop. Ferrari appeared unready when Leclerc pitted, another issue in a bleak weekend that saw their drivers bump wheels in a scrap for 12th.
After the re-start, Bottas closed to nine-tenths briefly, on lap 17, but Hamilton raised his pace and was gone.