McLaren Formula 1 junior Stoffel Vandoorne won on his GP2 debut in Bahrain for ART Grand Prix, grabbing the lead off the startline and keeping his challengers at arm's length.
As polesitter Jolyon Palmer spun his wheels off the line, Vandoorne grabbed the lead into Turn 1, ahead of Stephane Richelmi, Stefano Coletti, Rio Haryanto and Mitch Evans.
Palmer slipped back to sixth, while Evans relieved Haryanto of fourth at Turn 1 at the start of lap two.
The safety car was then required as Kimiya Sato punted Axcil Jefferies into a high-speed crash on the approach to Turn 4 from which the Zimbabwean emerged unscathed.
At the restart, four of the leading pack dived into the pits to get rid of their soft tyres for hards as the pit window opened: Richelmi, Coletti, Haryanto and Nasr.
Evans and Palmer left their stops a lap later, and Palmer was the big beneficiary, leaping from sixth to second with "a really good stop".
Julian Leal then came into the podium frame, despite starting 12th on the grid. He stopped on lap eight, and rejoined right with Palmer, effectively in third place.
The race splintered into two elements, as those who started on the hard-compound tyres ran a long first stint. Among them was Simon Trummer, who stalled his Rapax machine on the dummy grid and started from the pitlane.
He worked his way through the hard tyre runners to inherit the lead when Nathanael Berthon pitted (the two almost colliding as Trummer was passing Berthon as he tried to enter the pits).
Despite a botched stop for Berthon, which required his wheels re-tightening a lap later, he immediately set a sequence of fastest laps, which should have been the trigger for Trummer to pit.
However, his Rapax team ordered him to stay out until just two laps to go, while others who had pitted earlier, such as Takuya Izawa, tore through the pack on their fresh soft rubber.
Ahead of all the frantic action in the pack, Vandoorne coasted home to a 1.5s victory over Leal, who passed the tyre-troubled Palmer with two laps to go at Turn 1.
"It was incredible today," said Vandoorne. "I had a really good start and managed my tyres.
"Thanks to the team for giving me a really amazing car. Every lap my engineer told me to get with [the pace of] Jolyon, and I was able to manage it."
Palmer held on to third, just ahead of Coletti. Arthur Pic managed to finish fifth from ninth on the grid, making it a great return to the series for Campos Racing.
As Evans and Haryanto tumbled down the order, to 14th and 16th respectively, Izawa rocketed up to sixth, finishing ahead of Trummer who he'd been well behind when he pitted.
Nasr took eighth, and reversed-grid pole for Sunday's race, with Rene Binder and Adrian Quaife-Hobbs rounding out the top 10.
Results - 32 laps: Pos Driver Team Time/Gap 1. Stoffel Vandoorne ART 59m57s.411s 2. Julian Leal Carlin +1.551s 3. Jolyon Palmer DAMS +5.880s 4. Stefano Coletti Racing Engineering +6.317s 5. Arthur Pic Campos +15.100s 6. Takuya Izawa ART +21.729s 7. Simon Trummer Rapax +21.979s 8. Felipe Nasr Carlin +24.425s 9. Rene Binder Arden +24.861s 10. Adrian Quaife-Hobbs Rapax +26.194s 11. Daniel de Jong MP +27.034s 12. Conor Daly Lazarus +31.931s 13. Daniel Abt Hilmer +36.231s 14. Mitch Evans Russian Time +36.997s 15. Artem Markelov Russian Time +41.030s 16. Rio Haryanto Caterham +41.714s 17. Jon Lancaster MP +42.412s 18. Raffaele Marciello Racing Engineering +46.849s 19. Stepahen Richelmi DAMS +49.656s 20. Andre Negrao Arden +1m02.346 21. Johnny Cecotto Jr Trident +1m13.454 22. Alexander Rossi Caterham +1m34.560 Retirements: Nathanael Berthon Lazarus 30 laps Kimiya Sato Campos 27 laps Axcil Jefferies Trident 2 laps Facu Regalia Hilmer 0 laps