Mercedes showed again that it's in a different class from its rivals, with Hamilton's teammate Nico Rosberg taking second place and the third time in four races this season the pair have finished one-two.
Fernando Alonso held on for third place to give Ferrari its first podium finish of the year.
Red Bull's Daniel Ricciardo was fourth, while his teammate, defending world champion Sebastian Vettel, slumped to fifth.
The win gave Hamilton his first career hat trick following his wins in Malaysia and Bahrain. The Briton may have had a fourth victory, but he was forced to retire in the season-opening race in Australia after starting from pole position due to engine trouble.
Also Read
With Hamilton far out in front for much of the race, his rivals were left to battle for second best.
Rosberg, expected to challenge Hamilton in Shanghai after the pair's tight duel in Bahrain, started fourth on the grid and was forced to play catch-up after a slow start immediately dropped him back to seventh place.
The German methodically tracked down the two Red Bulls and then finally passed Alonso on the back straight of the 43rd lap, the Ferrari unable to match the speed of the Mercedes.
Vettel, meanwhile, was instructed by his team to let his younger teammate, Ricciardo, pass him for the second race in a row. Instead of acceding, however, the four-time defending champion initially fought off Ricciardo's attempts to get by.
Vettel asked his team what tires Ricciardo was using and when told they were both on mediums, Vettel responded, "Tough luck." At the start of lap 26, though, Vettel did finally make way for the faster Ricciardo and was unable to challenge him again.
It was a solid race for Force India, which saw Nico Hulkenberg finish sixth and Sergio Perez take ninth.
Williams driver Valtteri Bottas was seventh, Ferrari's Kimi Raikkonen was eighth, and Toro Rosso's Daniil Kyvat finished in 10th, another impressive showing by the 19-year-old debutant.