Hamilton, who started from second on the grid, took the world championship lead after romping home to win the Chinese Grand Prix by more than 6.5 seconds from Bottas, with Ferrari’s Sebastian Vettel third.
Max Verstappen of Red Bull was fourth and Charles Leclerc in the second Ferrari was fifth.
This was world champion Hamilton’s sixth victory at the Chinese Grand Prix and second in a row this season.
“To have a one-two (for Mercedes) is really special in the 1,000th Grand Prix but the start was where it made the difference and the rest is history,” said the Briton.
Hamilton was pipped for pole position by Bottas by just 0.023 seconds in qualifying and had said that he was “struggling with the car”.
But the Finn laboured out of the blocks, allowing Hamilton to nip in and grab the lead at the first corner.
“I lost it on the start, honestly, shame about the start, I got some wheel spin on the start line,” said Bottas, who also relinquished his hold on the standings after three races.
Talented 21-year-old Leclerc meanwhile pulled off the same trick at the start at the expense of his team-mate Vettel, darting into the third.
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 — agonisingly denied victory last time out in Bahrain after his Ferrari lost power late on — was informed on team radio after he briefly protested.
Back at the front, the 34-year-old Hamilton began pulling away, establishing a more than the five-second gap on Bottas with a third of the race gone.
With five-time world champion 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 tyres.
Vettel, Bottas and then Toro Rosso’s Alexander Albon, who missed qualifying after a nasty crash in final practice, all exchanged fastest laps.
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