Jules Bianchi claimed his first GP2 pole position in an extremely close battle with Asia series points leader Davide Valsecchi at Sakhir.
The Formula 3 Euro Series champion put his ART car on the top spot by just 0.003 seconds over iSport's Valsecchi, while Javier Villa (Arden) and Luca Filippi (Meritus) were also within 0.049s of pole.
Valsecchi had initially looked set to continue his run of success, moving 0.3s clear of the field when he found a clear lap in the middle of the session.
But he was swiftly pushed back to fourth as first Filippi, then Bianchi moved to provisional pole, and Villa claimed second.
Then in the final minute of the session Valsecchi improved to 1m43.478s and appeared to have done enough to claim another pole - only for Bianchi to throw in a 1m43.474s and earn his first GP2 pole in his second weekend in the category.
Villa and Filippi remained on the second row, with Alvaro Parente announcing his return to the series with an impressive fifth place on his first appearance with Coloni.
Valsecchi's iSport team-mate Oliver Turvey was in the fight for pole initially before being pushed down to sixth, ahead of Giacomo Ricci (DPR), Christian Vietoris (DAMS), Charles Pic (Arden) and Sergio Perez (Addax).
The other two returnees Yelmer Buurman and Adrian Zaugg were back in 16th and 18th with Ocean and Trident, while Jake Rosenzweig (Super Nova) will make his GP2 debut from the back row.
Pos Driver Team Time Gap 1. Jules Bianchi ART 1m43.474s 2. Davide Valsecchi iSport 1m43.478s + 0.004s 3. Javier Villa Arden 1m43.519s + 0.045s 4. Luca Filippi Meritus 1m43.523s + 0.049s 5. Alvaro Parente Coloni 1m43.714s + 0.240s 6. Oliver Turvey iSport 1m43.818s + 0.344s 7. Giacomo Ricci DPR 1m43.918s + 0.444s 8. Christian Vietoris DAMS 1m44.086s + 0.612s 9. Charles Pic Arden 1m44.172s + 0.698s 10. Sergio Perez Addax 1m44.246s + 0.772s 11. Sam Bird ART 1m44.253s + 0.779s 12. Edoardo Piscopo DAMS 1m44.338s + 0.864s 13. Max Chilton Addax 1m44.617s + 1.143s 14. Michael Herck DPR 1m44.671s + 1.197s 15. Alexander Rossi Meritus 1m44.713s + 1.239s 16. Yelmer Buurman Ocean 1m44.724s + 1.250s 17. Vladimir Arabadzhiev Rapax 1m44.759s + 1.285s 18. Adrian Zaugg Trident 1m44.781s + 1.307s 19. Daniele Zampieri Rapax 1m45.079s + 1.605s 20. Will Bratt Coloni 1m45.320s + 1.846s 21. Fabio Leimer Ocean 1m45.371s + 1.897s 22. Josef Kral Super Nova 1m45.424s + 1.950s 23. Jake Rosenzweig Super Nova 1m45.980s + 2.506s 24. Plamen Kralev Trident 1m47.243s + 3.769s