The Briton, world champion in 2009, set two times good enough for pole in the McLaren with his latter effort of a minute 47.573 seconds almost three-tenths of a second faster than second-placed Kamui Kobayashi.
Sauber's excellent day was completed by Kobayashi's team-mate Sergio Perez, who claimed fifth for the Swiss squad.
Pastor Maldonado put his Williams on the second row alongside 2007 champion Kimi Raikkonen, who had looked a good bet to challenge for pole but had to settle for fourth. However the Venezuelan was later hit with a three-place grid penalty for blocking Nico Hulkenberg in Q1, dropping him to sixth and elevating Raikkonen to third, Perez to fourth and world championship leader Fernando Alonso to fifth in the Ferrari.
Red Bull and Vettel - the winner of the last two titles and the pole-sitter at Spa last year - got his set-up completely wrong while Ferrari's Felipe Massa and seven-times champion Michael Schumacher also failed to make the top-10 shootout.
The first shock of the day came when Nico Rosberg failed to make it out of Q1. After Friday's three hours of practice were a near washout thanks to heavy rain, he lost further running in the hour-long Saturday morning session when his Mercedes was stranded by a transmission problem.
And his weekend was further soured when he could only go 18th in the opening 20-minute segment of qualifying, ahead of the traditional backmarkers of Caterham, Marussia and HRT but no one else. Already carrying a five-place penalty for that necessary gearbox change, he will start from 23rd, next-to-last, on Sunday's grid. Grosjean scraped through after traffic in the form of Narain Karthikeyan ruined his final hot lap.
After several drivers led the way in Q2 Button set a storming lap in the 1:47s, a welcome relief after complaining of understeer in Q1.
Bruno Senna lost control of his Williams, embarking on a long high-speed sideways slide from over the kerb at Pouhon, and was unable to recover: he will start from 17th.
Vettel and Massa did not leave it late in the mini-session but struggled to find a comfortable set-up throughout. Massa will start from 14th alongside Schumacher, who will compete in his 300th grand prix on Sunday.
For most of Q3 the only times set were the early efforts of Button and Raikkonen, whose quick laps midway through Q2 enabled them to leave the fray early and preserve rubber for the final shootout. With the other eight drivers leaving it to one hot lap at the end of the 10 minutes, Button decided that his scorching 1:47.686 might not be enough.
Japanese Kobayashi and Maldonado went second and third in short order before Button's next sensational lap. Raikkonen was unable to improve, but Webber fell short of his mark to temporarily go fifth.
Alonso took that spot before Perez usurped him. Hamilton - who tweeted before qualifying that he had made big changes to his car as it was not quick enough - could only manage eighth.