Romain Grosjean and Kimi Raikkonen finished in fourth and fifth with Sauber’s Sergio Perez fractionally behind the Lotus pair.
Hamilton was over half a second quicker than Maldonado who still managed to record his best ever qualifying result in Formula 1.
Two big names missed out on the top ten shoot-out with Jenson Button and Mark Webber lining up in 11th and 12th for the race at Circuit de Catalunya.
Button struggled with handling problems throughout the qualifying hour – understeer in Q1, and oversteer in Q2 – and Red Bull’s complacency saw Webber drop out as other drivers improved.
“I don’t know where it went wrong. All day I have struggled with the balance, yesterday the car was fantastic, I thought we’d be quick enough today, at least get into Q3. I’ve struggled with a very different balance,” Button said.
“The speed’s in the car I just don’t know what’s going on with mine.”
Red Bull mistakenly believed Webber’s time would be quick enough to qualify and the Australian missed out by less than a tenth of a second.
Nico Rosberg, Sebastian Vettel, Michael Schumacher and Kamui Kobayashi complete the top 10 with only Rosberg setting a timed lap.
Kobayashi took no part in the final session after pulling his Sauber off the track at the end of Q2.
Maldonado was the star performer of qualifying, quickest in Q1 and the first Williams driver to earn a front row grid position since Nico Hulkenberg dramatically won pole in changeable conditions in 2010 at Interlagos.
In contrast, team-mate Bruno Senna made a mistake while trying to escape the drop zone in Q3, and ended up in the gravel traps.
The Brazilian therefore became the midfield casualty along with the Caterham, Marussia and HRT cars.
Narain Karthikeyan’s fastest time in the HRT was over three seconds outside the 107 per cent cut off of Maldonado’s lap in Q1, meaning they will have to receive the backing of the other teams in order to race.
1 Lewis Hamilton (Gbr) McLaren 1min 21.707secs
2 Pastor Maldonado (Ven) Williams 1:22.285
3 Fernando Alonso (Spa) Ferrari 1:22.302
4 Romain Grosjean (Swi) Lotus F1 Team 1:22.424
5 Kimi Raikkonen (Fin) Lotus F1 Team 1:22.487
6 Sergio Perez (Mex) Sauber-Ferrari 1:22.533
7 Nico Rosberg (Ger) Mercedes GP 1:23.005
8 Sebastian Vettel (Ger) Red Bull no time
9 Michael Schumacher (Ger) Mercedes GP no time
10 Kamui Kobayashi (Jpn) Sauber-Ferrari no time
11 Jenson Button (Gbr) McLaren 1:22.944
12 Mark Webber (Aus) Red Bull 1:22.977
13 Paul di Resta (Gbr) Force India 1:23.125
14 Nico Hulkenberg (Ger) Force India 1:23.177
15 Jean-Eric Vergne (Fra) Scuderia Toro Rosso 1:23.265
16 Daniel Ricciardo (Aus) Scuderia Toro Rosso 1:23.442
17 Felipe Massa (Bra) Ferrari 1:23.444
18 Bruno Senna (Bra) Williams 1:24.981
19 Vitaly Petrov (Rus) Caterham 1:25.277
20 Heikki Kovalainen (Fin) Caterham 1:25.507
21 Charles Pic (Fra) Marussia 1:26.582
22 Timo Glock (Ger) Marussia 1:27.032
23 Pedro de la Rosa (Spa) HRT-F1 1:27.555
24 Narain Karthikeyan (Ind) HRT-F1 1:31.122
MORE: The latest football news
MORE: The latest tennis news