Hamilton started from second on the grid but grabbed the lead from Mercedes teammate Valtteri Bottas on the first corner and romped to a victory which gave him the world championship lead, AFP reported.
The title-holder from Britain finished more than 6.5 seconds ahead of Bottas in the third Mercedes one-two in as many races this season, with Ferrari's Sebastian Vettel third.
Max Verstappen of Red Bull was fourth and Charles Leclerc in the second Ferrari was fifth.
Sixth was Verstappen's teammate Pierre Gasly, the Frenchman earning a bonus point for clocking the quickest lap, one minute 34.742 seconds, in windy and hazy conditions.
Hamilton, for whom this was a sixth Chinese Grand Prix win and 75th overall, said that it was "a little bit of a struggle this weekend for me".
The five-time world champion wrestled with his car in qualifying but said that "a shift in driving style enabled me to unlock a bit more the potential of the car".
"The start was obviously great, which was really the decisive moment of the race. After that it was fairly straightforward."
The 34-year-old, who now leads the Finn Bottas by six points in the standings, said that he has had problems with his starts down the years.
"The first few races have been very difficult for me off the line so it's nice to finally redeem myself and rectify that," he added.
Bottas, who pipped Hamilton to pole by just 0.023 seconds, was always playing catchup after laboring out of the blocks.
"I lost it on the start, honestly, shame about the start, I got some wheel spin on the start line," he said.
Talented 21-year-old Leclerc pulled off the same trick at the expense of teammate Vettel, darting into third, but the German ultimately prevailed in the battle of the Ferraris.
Mercedes "were too quick right from the start", said Vettel, who climbed atop the podium for the first time in 2019.
There was more early drama when Toro Rosso's Daniil Kvyat tangled with both McLarens of Lando Norris and Carlos Sainz, earning the Russian a drive-through penalty.
On lap 11, four-time world champion Vettel leapfrogged back in front of Monaco's Leclerc into third following radio orders from Ferrari telling the youngster to let him pass.
"We do our job, stay focused," Leclerc – agonizingly denied victory last time out in Bahrain after his Ferrari lost power – was informed on team radio after he briefly protested.
Back at the front, Hamilton began pulling away, establishing a more than five-second gap on Bottas with a third of the race gone.
With Hamilton – winner in Bahrain two weeks ago – serene up top, the real battles unfolded behind him.
Vettel, under pressure after a number of unforced errors going back to last season, went wheel-to-wheel with Verstappen after both pitted for fresh tires.
Vettel, Bottas and then Toro Rosso's Alexander Albon, who missed qualifying after a nasty crash in final practice, all exchanged fastest laps.
The Thai-Briton Albon was named "driver of the day" after battling from the pits and into the points.
On lap 38 of the 56 it was Leclerc and Bottas who had a skirmish in the compelling battle for second.
Leclerc then pitted and was momentarily held up by a comparatively sluggish change of tyres.
Nico Hulkenberg, who qualified eighth for Renault, saw his race come to an early conclusion after the team retired his faltering car.
Norris and Kvyat were also forced out before the end.
The fourth race of the season takes place on the streets of Baku, in Azerbaijan, in a fortnight.