The BrawnGP driver Brawn waited until the end before posting a time of 1 minute 14.902 seconds for the 3.340-kilometres course through the streets of Monte Carlo to make sure of his fourth pole position of the season.
Team principal Ross Brawn said that Button had shown before that he could compete well when under pressure.
“I think he likes to keep the best for last,” said Brawn.
Raikkonen finished 0.025 seconds behind to prevent a BrawnGP one- two on Sunday’s grid. Button’s team-mate Rubens Barrichello will start from third place on the grid and is joined by Red Bull’s Sebastian Vettel in the second row.
The third row on the grid belongs to Felipe Massa in the second Ferrari and Nico Rosberg in a Williams.
Defending world champion Lewis Hamilton in a McLaren-Mercedes crashed out in the first qualifying session and will start from 16th on the grid.
Ahead of the sixth race of the season, Button leads the standings with 41 points after winning four of the opening five season-races. Barrichello is 14 points behind on 27, while Red Bull’s Sebastian Vettel is third with 23 points. (dpa)