Schon kurz nach dem Start musste das virtuelle Safety-Car rauskommen, weil Luca Ghiotto beim Start auf den stehengebliebenen Tadasuke Makino aufgefahren war. Ebenso musste Nyck de Vries in die Box geschoben worden und auch Jack Aitken wurde nach dem Start in die Boxengasse gebracht und hoffte, das Rennen fortsetzen zu können.

Ghiotto, Makino und de Vries konnten das Rennen sogar fortsetzen, hatten jedoch zwei Runden Rückstand. Für Sean Gelael war der zweite Lauf auf dem Straßenkurs nach nur vier Runden vorbei, nachdem er einen heftigen Einschlag in der Schwimmbad-Passage hatte. Deshalb musste das Safety-Car rausfahren. Makino gab während der Safety-Car-Phase allerdings auch auf.

An der Spitze konnte Antonio Fuoco seine Pole Position erst verteidigen, während Markelov bereits drei Positionen gewinnen konnte. Nach sechs Runden hinter dem Safety-Car ging es endlich weiter. Am Ende des Feldes fuhr de Vries derweil die mit Abstand schnellste Rennrunde. Nach einigen Runden mit Lando Norris als direktem Verfolger im Getriebe konnte sich Fuoco nach einem Fehler des Briten absetzen und konnte das Rennen von außerhalb des DRS-Fensters kontrollieren.

Nach dem Chaos am Start hielten sich die F2-Piloten ein wenig zurück. Artem Markelov gelang es als einem von wenigen Piloten ein Überholmanöver auf der Strecke zu vollführen. Der Russe übernahm in Runde 17 von 30 die vierte Position von Arjun Maini und startete sogleich den Angriff auf Louis Deletraz vor ihm.

Er war bereits im Getriebe von Deletraz, als das Rennen erneut durch ein virtuelles Safety-Car eingefroren wurde, weil George Russell in der Hafenschickane die Kontrolle verlor und in die Leitplanke einschlug. Der Schweizer konnte sich den Angriffen jedoch erfolgreich erwehren und erlaubte sich keinen Fehler.

Das Rennen endete dann hinter dem Safety-Car, nachdem Alexander Albon und Roy Nissany am Ende des Tunnels kollidierten und Nirei Fukuzumi und Santino Ferrucci während der Safety-Car-Phase ausfielen. Fuoco gewann dementsprechend vor Norris und Deletraz. Markelov verpasste das Podium knapp. Der Deutsche Maximilian Günther punktete mit Platz sieben zum ersten Mal seit dem ersten Rennwochenende.