Championship leader Jean-Eric Vergne set the fastest lap across the two practice sessions ahead of the Berlin Formula E race, heading the times from Mahindra Racing's Felix Rosenqvist.
Vergne's closest title rival Sam Bird could only manage a best of 10th in either session, with his best effort in FP2 leaving him 11th on combined times.
Audi driver Lucas di Grassi held the top spot for much of the 30-minute FP2 session - where all drivers except Nick Heidfeld improved their best times from Saturday's earlier 45-minute FP1 running.
As FP2 entered its closing stages, most drivers went for a second full-power 200kW lap, with Rosenqvist deposing di Grassi at the top of times.
But Techeetah driver Vergne, who had flirted with the barrier at the exit of the high-speed Turn 7 left-hander earlier in the session, swept around the Tempelhof Airport track to set a best time of 1m09.438s.
That put him 0.095 seconds clear of Rosenqvist, who is third in the drivers' standings and 61 points adrift of Vergne.
Vergne's team-mate Andre Lotterer leapt up the order to grab third place in the overall practice times with a late improvement.
Lotterer will take a 10-place grid penalty from wherever he qualifies as a result of his part in a dramatic crash with Bird at the end of the Paris race.
Reigning FE champion di Grassi ended up fourth, 0.146s behind Vergne, with 2015/16 title winner Sebastien Buemi sixth for Renault e.dams.
Audi's home driver Daniel Abt was sixth, with Jerome D'Ambrosio seventh for Dragon.
Heidfeld topped the times in FP1 with his lap of 1m09.697s, which put him eighth in the combined order after FP2, where he was 12th fastest.
Alex Lynn (Virgin Racing) and Jaguar's Mitch Evans rounded out the top 10 ahead of Bird. Oliver Turvey ended practice in 12th place in the combined standings, ahead of 2014/15 FE champion Nelson Piquet.
After missing the Paris event when NIO opted to give its reserve driver Ma Qing Hua some competitive track action, the returning Luca Filippi, who picked up a €1000 fine for speeding in the pitlane during Friday's shakedown running, was 16th fastest in practice.
Tom Dillmann was 19th for Venturi in place of Edoado Mortara, who is racing for Mercedes in the DTM at Lausitzring this weekend.
Stephane Sarrazin - replacing Tom Blomqvist at Andretti for the rest of the season - ended up at the bottom of the pile in both sessions.
Sarrazin, who has raced in FE for Venturi and Techeetah in the past, caused a lengthy red flag in FP1 when he went into the barriers at the long, circular Turn 1 left-hander.
The accident was caused by his throttle still being partially engaged when he hit the brakes for the corner.
|5||Oliver Turvey||NIO||NextEV NIO||1m10.588s||0.891s||24|
|6||Alex Lynn||Virgin||DS Virgin||1m10.616s||0.919s||24|
|7||Lucas di Grassi||Audi||Audi||1m10.687s||0.990s||21|
|11||Sam Bird||Virgin||DS Virgin||1m10.824s||1.127s||24|
|12||Nelson Piquet Jr.||Jaguar||Jaguar||1m10.995s||1.298s||22|
|13||Luca Filippi||NIO||NextEV NIO||1m11.005s||1.308s||21|
|14||Antonio Felix da Costa||Andretti||Andretti||1m11.011s||1.314s||20|
|19||Jose Maria Lopez||Dragon||Penske||1m11.338s||1.641s||21|
|4||Lucas di Grassi||Audi||Audi||1m09.584s||0.146s||15|
|8||Alex Lynn||Virgin||DS Virgin||1m09.883s||0.445s||18|
|10||Sam Bird||Virgin||DS Virgin||1m09.946s||0.508s||18|
|11||Oliver Turvey||NIO||NextEV NIO||1m09.982s||0.544s||18|
|13||Nelson Piquet Jr.||Jaguar||Jaguar||1m10.132s||0.694s||15|
|15||Jose Maria Lopez||Dragon||Penske||1m10.378s||0.940s||15|
|16||Luca Filippi||NIO||NextEV NIO||1m10.426s||0.988s||20|
|17||Antonio Felix da Costa||Andretti||Andretti||1m10.434s||0.996s||15|