Hamilton started second alongside teammate Valtteri Bottas but slipped past the Finn on lap 13 to take control of the race.
Bottas later retired from the grand prix with an engine issue, clearing the way for the Briton to cruise to the chequered flag.
Hamilton was presented with one of Schumacher’s helmets by the German icon’s son, Mick, to mark the milestone.
“It’s an incredible honour,” he said. “I don’t even know what to say.
“Seeing his dominance for so long, I don’t think anyone, and especially me, imagined that I’d be anywhere near Michael in terms of records.
“I couldn’t have done it without this incredible team. Everyone is continuing to push behind me and giving it their everything.”
Max Verstappen, starting from third, attempted to challenge Hamilton for victory but lacked the Mercedes car’s pace.
However, the Dutchman provided proof of his team’s progress this year, snatching the point for fastest lap late in the race.
“I was quite happy with that,” he said. “I think overall it was a good race.
“We just tried to do our own race. They were just a bit too fast.”
Daniel Ricciardo scored Renault’s first podium finish since 2011 with a hugely popular third place.
The Australian delivered another strong drive to lead the midfield by 16 seconds at half distance, but a safety car on lap 45 - deployed to collect Lando Norris’s stopped McLaren - wiped out his advantage and put him on a defensive footing against Racing Point’s Sergio Perez.
Ricciardo and Perez went side by side through the first four corners at the restart, but the Renault driver got the better exit from turn four to keep himself ahead and take his first podium since winning in Monte Carlo in 2018.
“It feels like the first podium all over again,” he said. “The feeling is really nice, it’s fresh.
“I’m just so happy, and obviously to see everyone as well - we’ve all waited a long time for this. I think everyone’s going to soak it up.”
Carlos Sainz recovered from 10th on the grid to finish fifth, defending against AlphaTauri’s Pierre Gasly after the safety car to beat the Frenchman by just 0.8 seconds.
Charles Leclerc could have beaten Gasly had his team not neglected to stop him for new tyres during the safety car; instead he slipped to seventh on worn rubber at the restart.
Nico Hulkenberg, substituting for the unwell Lance Stroll at Racing Point, was superb to finish eighth barely 24 hours after first arriving at the circuit. The German qualified 20th but rose into the top 10 in time to capitalise on the safety car.
Romain Grosjean finished ninth for Haas in the American team’s second points finish of the year, beating Alfa Romeo’s Antonio Giovinazzi in his first top-10 finish since round one.
Sebastian Vettel failed to score for the sixth race this season, finishing 11th, ahead of Kimi Raikkonen, who started a record 323rd grand prix.
Kevin Magnussen and Nicholas Latifi finished 13th and 14th ahead of Daniil Kvyat in 15th.
Kvyat’s race was ruined by a crash with Thai driver Alex Albon, who had another forgettable race with Red Bull Racing.
Dropping a place off the start, he was forced into an early pit stop after flat-spotting his tyres trying to recover. Later he misjudged an overtake on Kvyat, breaking the Russian’s front wing, before the team retired him from the race with a suspected engine problem.