Jolyon Palmer claimed his first GP2 Series victory with a commanding win in a Monaco sprint race decided by first-lap carnage.
iSport driver Palmer had jumped from third to first by Sainte Devote on the opening lap, and as polesitter Stephane Richelmi gave him space, the Trident car tangled with Lotus's James Calado. A separate incident further back also left Coloni's Stefano Coletti with race-ending damage.
The greatest mayhem came at the top of the hill, as Friday race winner Johnny Cecotto (Addax) spun at Massanet and triggered a multi-car pile-up.
Championship leader Davide Valsecchi, who had lost a lot of ground at the start, was among the victims, while his DAMS team-mate Felipe Nasr was launched over the back of Ocean's Victor Guerin. Rapax duo Tom Dillmann and Ricardo Texeira were also eliminated, as was Coloni's Fabio Onidi and Lazarus man Fabrizio Crestani.
Calado escaped the Richelmi tangle still in second place but with a damaged front wing. When the race got underway again after a safety car period to clean up the lap one mess, Calado initially tried to hang on in second, fending off a queue of cars.
By the time Calado was given a black and orange flag and pitted for repairs, Palmer was nine seconds clear of new second place man Max Chilton, and was able to control the rest of the race.
Carlin driver Chilton started gaining rapidly late on and got the gap down to a second by the chequered flag, but Palmer had it covered.
Giedo van der Garde took another podium for Caterham in third, unable to keep up with Chilton but eventually getting away from iSport's Marcus Ericsson.
Caterham got both cars in the top five as Rodolfo Gonzalez secured fifth. Gonzalez had Luiz Razia all over him for much of the race, until the Arden driver dropped back to focus on getting the fastest lap bonus instead, which he successfully achieved.
Racing Engineering's Nathanael Berthon held off Esteban Gutierrez (Lotus) for seventh, a battle in which Berthon's team-mate Fabio Leimer had also featured before hitting the Swimming Pool barriers.
Results - 30 laps: Pos Driver Team Time/Gap 1. Jolyon Palmer iSport 45m41.227s 2. Max Chilton Carlin + 1.083s 3. Giedo van der Garde Caterham + 4.426s 4. Marcus Ericsson iSport + 8.133s 5. Rodolfo Gonzalez Caterham + 19.968s 6. Luiz Razia Arden + 23.273s 7. Nathanael Berthon Racing Engineering + 26.376s 8. Esteban Gutierrez Lotus + 26.880s 9. Simon Trummer Arden + 31.663s 10. Josef Kral Addax + 35.338s 11. Rio Haryanto Carlin + 36.546s 12. Nigel Melker Ocean + 37.164s Retirements: James Calado Lotus 20 laps Julian Leal Trident 12 laps Fabio Leimer Racing Engineering 8 laps Fabrizio Crestani Lazarus 8 laps Stephane Richelmi Trident 0 laps Davide Valsecchi DAMS 0 laps Johnny Cecotto Addax 0 laps Stefano Coletti Coloni 0 laps Tom Dillmann Rapax 0 laps Victor Guerin Ocean 0 laps Felipe Nasr DAMS 0 laps Ricardo Teixeira Rapax 0 laps Giancarlo Serenelli Lazarus 0 laps Fabio Onidi Coloni 0 laps