Rio Haryanto took his maiden GP2 Series pole position for Saturday's feature race at Spa-Francorchamps.
The Indonesian set the fastest time near the end of a treacherously-wet qualifying session on Friday.
The session was delayed by 15 minutes due to torrential rain, Although it did not dry out properly it became significantly less wet and the times tumbled throughout. Pole position changed hands eight times in 30 minutes.
Carlin driver Haryanto was in the mix for pole for the duration, locked in a fascinating battle with Lotus duo James Calado and Esteban Gutierrez, and iSport's Marcus Ericsson around one of the world's most spectacular - and most testing - circuits.
Haryanto's penultimate effort of 2m17.535s was enough for the top spot by just over a tenth of a second from a valiant Calado, who never gave up his chase.
Gutierrez was another tenth back in third, with fourth-placed Ericsson over half a second slower than the pole time - even though he was on top with just five minutes to go.
Jolyon Palmer's last-lap flyer meant there were two iSport cars in the top five, ahead of title contender Davide Valsecchi (DAMS) in sixth.
Championship leader Luiz Razia, who leads Valsecchi by seven points, suffered a disastrous session, and will start 18th in his Arden entry. He was actually 19th fastest, but Fabio Onidi has a 10-place grid penalty ahead of him.
Sergio Canamasas was a highly impressive seventh for the unfancied Lazarus team, ahead of practice pacesetter Fabio Leimer, Felipe Nasr and Giedo van der Garde.
Haryanto's four points for pole elevate him to 13th in the drivers' championship.
Pos Driver Team Time Gap 1. Rio Haryanto Carlin 2m17.535s 2. James Calado Lotus 2m17.643s + 0.108s 3. Esteban Gutierrez Lotus 2m17.736s + 0.201s 4. Marcus Ericsson iSport 2m18.058s + 0.523s 5. Jolyon Palmer iSport 2m18.368s + 0.833s 6. Davide Valsecchi DAMS 2m18.397s + 0.862s 7. Sergio Canamasas Lazarus 2m18.582s + 1.047s 8. Fabio Leimer Racing Engineering 2m18.603s + 1.068s 9. Felipe Nasr DAMS 2m18.801s + 1.266s 10. Giedo van der Garde Caterham 2m18.930s + 1.395s 11. Stefano Coletti Coloni 2m19.328s + 1.793s 12. Nathanael Berthon Racing Engineering 2m19.721s + 2.186s 13. Max Chilton Carlin 2m19.803s + 2.268s 14. Fabio Onidi Coloni 2m20.100s + 2.565s 15. Josef Kral Addax 2m20.224s + 2.689s 16. Victor Guerin Ocean 2m20.289s + 2.754s 17. Julian Leal Trident 2m20.455s + 2.920s 18. Ricardo Teixeira Rapax 2m20.484s + 2.949s 19. Luiz Razia Arden 2m20.712s + 3.177s 20. Rodolfo Gonzalez Caterham 2m20.752s + 3.217s 21. Nigel Melker Ocean 2m20.888s + 3.353s 22. Daniel de Jong Rapax 2m20.921s + 3.386s 23. Stephane Richelmi Trident 2m21.070s + 3.535s 24. Simon Trummer Arden 2m21.790s + 4.255s 25. Johnny Cecotto Addax 2m21.942s + 4.407s 26. Rene Binder Lazarus 2m22.795s + 5.260s