Cassidy, del Envision Racing, se hizo con la victoria tras liderar durante las últimas 16 vueltas de la carrera, manteniendo su posición en cabeza y ahorrando suficiente energía a pesar de no rodar en el rebufo.
El neozelandés remontó desde la octava posición de la parrilla tras perder el tiempo de su duelo clasificatorio debido a una infracción.
Jake Dennis siguió de cerca a Cassidy durante toda la parte final de la carrera y, aunque el piloto de Andretti Autosport nunca estuvo a más de unos pocos coches de distancia, el británico nunca dio la impresión de poder hacer algo.
Su segundo puesto es la primera vez desde enero que ha puntuado, ya que tanto él como Cassidy lograron adelantar al líder del campeonato, Pascal Wehrlein, que sólo pudo ser séptimo con Porsche.
Jean-Eric Vergne, de DS Penske, completó el podio, tras haber remontado hasta Mitch Evans y Antonio Felix da Costa después de quedar por detrás de los pilotos de Jaguar y Porsche cuando se acercaban las 10 últimas vueltas de la carrera.
Evans, que ganó el E-Prix de Berlín el sábado en el circuito urbano del aeropuerto de Tempelhof, terminó por delante de da Costa a pesar de que ambos tuvieron un pequeño contacto en la horquilla de la curva 9 en las últimas vueltas.
El efecto concertina ralentizó a Wehrlein, compañero de equipo de da Costa, lo que permitió a Maximilian Gunther entrar por delante en la última curva.El piloto del Maserati MSG había remontado desde la 21ª posición de la parrilla tras una desastrosa clasificación en mojado para terminar sexto, justo por delante de Wehrlein.
Vandoorne terminó octavo, aunque no estuvo cerca de la cabeza de la carrera.
Nico Muller sumó sus primeros puntos de la temporada en novena posición, tras salir en primera línea junto al polesitter y compañero de equipo de Abt, Robin Frijns, en una sorprendente actuación en clasificación.
Con la carrera disputada en seco y bajo el sol, en claro contraste con las condiciones húmedas y traicioneras de la sesión de clasificación, los Abt siempre iban a tener problemas en comparación con el resto de los participantes y se vieron obligados a retroceder a pesar de liderar inicialmente la carrera.
La salida se retrasó varios minutos después de que unos manifestantes accedieran al circuito y se colocaran en frente de los coches mientras ocupaban sus puestos en la parrilla, antes de ser retirados rápidamente.