He was followed over the line by Sebastian Vettel, Kimi Raikkonen, Nico Hulkenberg, Felipe Massa and Mark Webber.
Button led from the start and, employing a one-stop strategy, his win never looked in serious doubt apart from a brief challenge by Vettel.
His father, John Button, had said he wanted a boring race and that, in a sense, is what he got.
"This circuit is such a special one for most drivers," Button Jr said. "To lead from lights to flag is very special."
He cut his 41-point deficit behind his team-mate Lewis Hamilton to 16 points. And though he trailed the championship leader, Fernando Alonso, by 88 points before the start he has cut that to 63. Vettel has trimmed Alonso's lead to 24 points, which is less than a race win.
A major shunt on the first corner, which was so dramatic it almost resembled a plane crash, put out four drivers, Alonso, Hamilton, Romain Grosjean and Sergio Pérez. It was the fault of Grosjean, who cut across Hamilton. Alonso and Pérez also innocent victims.
Even before that there was what appeared to be a jump start by Pastor Maldonado. But there was also a jump conclusion to the race for the Williams driver as he limped out on lap five with a front wing problem after a restart clash with Timo Glock.
At this stage the Red Bulls of Vettel and Webber were struggling for straight line speed as they battled to exploit the chance to make up ground on the absent Alonso.
Alonso had scored points in the previous 23 races and was just one away from equalling Schumacher's record, set between 2001-03.
The early accident worked out well for Paul Di Resta, who was soon up to third place, and Nico Hulkenberg, who also looked strong. But while Di Resta pitted soon afterwards and fell back into the field, Hulkenberg remained competitive until the end.
Schumacher, in his 300th race, managed seventh after some special battles with, among others, Vettel and Raikkonen.
guardian.co.uk © Guardian News and Media Limited 2010
image: © McLaren