Sebastien Buemi made it two wins from the 2015/16 Formula E season's first three races with an assured drive to victory in Punta del Este from fifth on the grid.
The Renault e.dams driver passed Lucas di Grassi at the start and rebuffed an attack from the Brazilian later in the race before easing to the win.
After beating di Grassi off the line, Buemi began hounding Loic Duval for third, the front row starting Dragon Racing driver having lost second to Sam Bird, but had to wait until the hairpin on the fourth lap to dive by and take the place.
Buemi then lit the timing screen up with purple sectors as he caught and attacked Bird, passing him at Turn 17 a lap later.
Poleman Jerome d'Ambrosio had eked out a 1.8-second advantage, but Buemi whittled that to nothing in just two laps.
At one-quarter distance Buemi dived by the Dragon driver at Turn 17, and by the time the leaders stopped nine laps later his lead was 4.3s.
Di Grassi, having passed Bird, was held up behind Duval throughout the first stint but a perfect pitstop from Abt meant he jumped both Dragon drivers and halved Buemi's lead in the process.
When a full-course yellow was required to deal with Bird's stricken DS Virgin DSV-01, which stopped on the first lap out of the pits, a misunderstanding meant Buemi slowed too much and allowed di Grassi to close further.
A 2.6s gap became nothing by the time racing resumed and di Grassi stuck with Buemi initially, but could not live with the Renault driver as the stint progressed.
It developed into a simple run to the flag for Buemi, who takes the championship lead as a result of the victory and fastest lap.
D'Ambrosio kept Duval at bay in the all-Dragon fight for third, but the team will surely rue another race in which a slightly slow pitstop cost its drivers positions.
Buemi's team-mate Nicolas Prost had an anonymous run to fifth, only just finishing ahead of Antonio Felix da Costa in the season-one specification Team Aguri entry.
Compared to the chaos of Putrajaya the second half of this race was a sedate affair lit up in the closing stages by a fierce battle between Nelson Piquet Jr and Jean-Eric Vergne over eighth.
Vergne eventually claimed the place when Piquet speared sideways at the Turn 15 chicane and clouted the barriers, shortly after the pair made contact at the hairpin.
RESULTS - 33 LAPS:
|2||Lucas di Grassi||Abt||ABT Schaeffler||3.534s|
|6||Antonio Felix da Costa||Aguri||Spark||22.410s|
|8||Daniel Abt||Abt||ABT Schaeffler||1m00.744s|
|11||Simona de Silvestro||Andretti||Spark||1 Lap|
|12||Oliver Turvey||China||NEXTEV TCR||1 Lap|
|13||Oliver Rowland||Mahindra||Mahindra||1 Lap|
|14||Nathanael Berthon||Aguri||Spark||1 Lap|
|15||Nelson Piquet Jr.||China||NEXTEV TCR||Spun off|
|-||Bruno Senna||Mahindra||Mahindra||Out of energy|
|2||Lucas di Grassi||61|
|9||Antonio Felix da Costa||16|
|16||Nelson Piquet Jr.||4|