Lucas di Grassi bounced back from a disappointing qualifying display and damage in the early stages that nearly saw him go a lap down to take a stunning Formula E victory in Mexico City on Saturday.

Di Grassi made a bold pit strategy work which, combined with some fortunate timing on safety cars and massive defence from Jerome d'Ambrosio, allowed the Brazilian to skip clear in the closing stages and take his first win of the season.

A clean getaway from pole position allowed pole-sitter Oliver Turvey to retain his lead into Turn 1 with Jose Maria Lopez close behind. Nick Heidfeld managed to dive down the inside of Jean-Eric Vergne to take P2, while the concertina effect at the Turn 3-4-5 chicane resulted in contact, with di Grassi damaging his rear wing.

With debris strewn across the track, the stewards opted to send out the safety car on Lap 2, allowing ABT to bring di Grassi in and change his rear wing. The Brazilian was sent back out in time to stay on the lead lap, but was firmly running last. Renault also had to change the nose on Nicolas Prost's car, putting two of the fastest cars towards the rear.

The race resumed on Lap 5 with Turvey leading the field away again, keeping Lopez at an arm's length. Championship leader Buemi began to make his moves, easing past Felix Rosenqvist before latching onto the back of Sam Bird in fifth.

Fifth soon became fourth for Buemi, but not at the expense of Buemi. Instead it was race leader Turvey who dropped to the back of the field after a power issue emerged on his car, with NextEV asking him to stop on-track and complete a full cycle. Despite Turvey's best efforts to reset, he was unable to get his car going again, abandoning the NextEV at Turn 1 and sparking a second safety car period.

With the field bunched once again, backmarkers di Grassi and Jerome d'Ambrosio both opted to roll the dice and pit, making their mandatory car swap while the field was slowed. Although they would have to save energy continuously to the end of the race, it would give them a shot of clambering back up the order when the others made their stops.

Lap 19 saw the race go back to green, this time with Lopez leading the pack. The three-time WTCC champion was able to open up a slender lead in the run-up to the car swaps, leaving second-placed Heidfeld to defend from Vergne behind. Vergne was the first of the leaders to pit, coming in at the end of Lap 24 in a bid to find free air and get the undercut on his rivals. Lopez and the lead runners all came in one lap later, with only Prost and Loic Duval extending their stints by an additional lap.

Lopez was quick to exit his pit box after hitting the minimum pit stop time, ensuring his came out ahead of Vergne, whose undercut allowed him to jump ahead of Heidfeld. A slow stop for the Mahindra driver cost him a handful of positions to Bird and Antonio Felix da Costa. Buemi also hit trouble, falling down to P10 after a slow stop in the Renault e.dams garage.

While Lopez had retained his advantage over Vergne, he was not the man in front. Instead, di Grassi and d'Ambrosio were up top with a healthy buffer thanks to their early stops, giving them a chance of a surprise result. Their efforts were not helped when the safety car was sent out for a third time soon after the car swaps, though, when Duval stopped out on-track.

The race resumed with 15 laps to go, prompting Vergne to try and immediately get the jump on Lopez. The two touched at Turn 3, but Lopez managed to stay ahead, leaving Vergne to try the same move one lap later. Lopez cut across the chicane to avoid contact, sparking fury in Vergne's cockpit as he demanded that he be given the position. Lopez stayed ahead, crawling all over the back of d'Ambrosio in second, allowing di Grassi to peel away up top.

Vergne soon found a way past Lopez when the DS Virgin driver lost control under braking at Turn 1, sliding off the track. Just as Lopez began to return to the track, Buemi prouced a near-identical spin, the pair somehow avoiding contact. Points were now the best both could hope for.

D'Ambrosio remained the cork in the bottle, keeping Vergne - who had over 10 per cent more energy - and co. behind as di Grassi extended his lead. Vergne grew increasingly frustrated behind the white-and-black-specked Dragon, knowing his hopes of a maiden Formula E victory were evaporating.

Vergne finally made his move with three laps to go when d'Ambrosio made an error at Turn 1, the Techeetah diving past and immediately setting off in pursuit of di Grassi. However, it was too little, too late, with the ABT Schaeffler driver eventually finishing two seconds clear and recording his first win of the season.

Vergne followed di Grassi home in second ahead of Sam Bird, who took the final podium position after d'Ambrosio ran out of energy late on, causing him to fall out of the points.

Mitch Evans took Jaguar's first Formula E points by finishing fourth, with team-mate Adam Carroll also ending the race in the top 10 after a late clash between the Mahindra drivers. Prost was fifth for Renault e.dams as Buemi limped home in 14th, although he did pick up some points for recording the fastest lap late on.

Lopez recovered from his spin to finish sixth ahead of Daniel Abt and Carroll, with Nelson Piquet Jr. ending up ninth for NextEV. Esteban Gutierrez scored one point for P10 on his Formula E debut, giving Techeetah its first double-score of the season.