The result was McLaren's 63rd front row sweep in F1, which set a new record.
Having led both second and third practice, Hamilton maintained his strong form to set a 1m24.010s at the start of Q3.
That proved unbeatable, and Button eventually joined him up front with a lap 0.123 seconds slower.
Button's run deposed Felipe Massa, as the Ferrari driver delivered his best qualifying performance of the year.
But it was a disastrous session for Massa's championship-leading team-mate Fernando Alonso, who was only 10th, 1.4s slower. Ferrari reported a suspected anti-rollbar failure.
Paul di Resta qualified a superb fourth, although he will move down to ninth when a gearbox-change penalty is applied.
The Scot's speed will still be some consolation for Force India as his team-mate Nico Hulkenberg encountered an apparent gearbox problem at the start of Q1 and was left at the back of the field.
Red Bull had another muted qualifying session. Sebastian Vettel was sixth, while his team-mate Mark Webber did not make Q3, missing the cut by 0.067s as he took 11th.
Mercedes' Michael Schumacher and Nico Rosberg sandwich Vettel in fifth and seventh.
Kimi Raikkonen qualified eighth for Lotus, ahead of Kamui Kobayashi's Sauber.
It was also a tough day for Williams. A mistake on the exit of the Ascaris left Pastor Maldonado 12th in Q2, which will become 22nd on the grid due to his Spa penalties. Bruno Senna was only 14th in the sister car.
Romain Grosjean's substitute Jerome d'Ambrosio was around 0.7s off team-mate Raikkonen's pace throughout qualifying, which left him 16th for his Lotus debut.
D'Ambrosio substitute had a brief scare in Q1 when an error on his first run left him behind Heikki Kovalainen's Caterham and in danger of elimination, but he switched to the softer tyres and made the cut with his last attempt.