Vor dem Rennen der Formel 2 war es schon wieder so weit abgetrocknet, dass alle Piloten mit den Slick-Reifen starteten. Jack Aitken übernahm mit einem guten Start die Führung im Sprintrennen. Der gestrige Sieger Goerge Russell verlor auch zwei Positionen, doch wie schwierig die Bedingungen wirklich waren, das zeigten einige Dreher und Ausflüge in den ersten Runden.

Nyck de Vries fiel nach einem Ausritt ins Kiesbett in Kurve drei bis ans Ende des Feldes zurück. Roberto Merhi hatte nach einem Dreher enorm viel Glück, denn er bekam das Auto für die kommende Kurve ausgerichtet und konnte mit nur einigen verlorenen Positionen auf Rang 14 weiterfahren. An der Spitze fuhr Aitken in einer eigenen Liga.

Mit seinen 1:37er-Zeiten fuhr er zwei Sekunden schneller als die Konkurrenz. Derweil konnte sich Russell wieder ein wenig nach vorne arbeiten und übernahm bereits in Runde zwei die sechste Position von Polesetter Artem Markelov. Im Kampf um Position 17 wollte de Vries dann zu viel und nach einem gescheiterten Überholversuch steckte sein Auto im Kiesbett fest, was ein virtuelles Safety-Car auslöste.

Norris und Albon kämpften weit hinter Aitken um die zweite Position. Derweil ging es für Markelov immer weiter nach hinten. Antonio Fuoco war der nächste, der den Russen überholte. Das Safety-Car musste nur wenige Runden nach dem Ende des VSC rauskommen, als sich Tadasuke Makino und Nirei Fukuzumi in der vierten Kurve ins Auto fuhren und für beide Fahrer das Rennen vorbei war.

Nach dem Restart konnte Aitken sich zwar erst von der Konkurrenz absetzen, doch nach einem Fehler waren die Top-Drei innerhalb von einer Sekunde. Nach einer Runde im direkten Kampf um die Führung konnte Aitken seine Führung wieder stabilisieren. Albon war jedoch weiter unter Druck durch Norris.

Im Mittelteil stabilisierte sich das Rennen ein wenig, zumindest bis Sergio Sette Camara sein Auto abstellen musste. Der Feuerlöscher hatte ausgelöst und er konnte nichts mehr sehen. Erneut musste das VSC aktiviert werden. Als es weiterging, konnte sich Aitken wieder absetzen. Lando Norris hatte dabei Pech und verlor durch das VSC fast zwei Sekunden auf Albon. Er beschwerte sich auch über Funk darüber.

Nach Problemen zu Beginn fand Mercedes-Junior Russell zehn Runden vor dem Ende wieder einen Rhythmus und fuhr mehrere schnellste Rennrunden und startete die Attacke auf die Spitze. Ghiotto war der erste Fahrer, der dem Mercedes-Junior weichen musste, weil er enorme Reifenprobleme hatte. Für MP Motorsport entwickelte sich das Rennen zum Albtraum. Zuerst beklagte Merhi Motorprobleme, dann erlitt Ralph Boschung einen Reifenschaden.

Vier Runden vor dem Ende gab es noch einmal ein VSC, damit das Auto von Boschung geborgen werden konnte. Als es weiterging hatte Norris ein wenig auf Albon aufholen können. Allerdings ging der Thailänder in den letzten beiden Runden noch einmal voll auf Attacke und setzte eine neue schnellste Rennrunde.

Doch Aitken konnte seine Führung verteidigen und gewann das Sprintrennen der Formel 2 in Barcelona. Albon und Norris durften mit dem Briten auf das Podium. Durch Platz zwei konnte Albon zumindest ein paar Punkte auf den Meisterschaftsführenden Norris aufholen. Maximilian Günther beendete ein unauffälliges Rennen auf dem zwölften Platz.