Πριν καν ξεκινήσει ο 7ος αγώνας της χρονιάς για τη μεγάλη κατηγορία, είχαμε δράματα καθώς ο Jorge Martin έπεσε στο γύρο παρατήρησης. Ήταν χαρακτηριστικό ότι οι μηχανικοί της Pramac περίμεναν τον πιλότο τους στο grid, χωρίς να ξέρουν ότι αυτός είχε πέσει στην 5η στροφή.
Ο αγώνας των 24 γύρων ξεκίνησε με τον Fabio Quartararo στην pole position, την ώρα που οι περισσότεροι πιλότοι της κατηγορίας είχαν επιλέξει τα μεσαία ελαστικά μπροστά, ενώ για τα πίσω οι επιλογές ήταν μοιρασμένες ανάμεσα στη σκληρή και στη μεσαία γόμα, ενώ υπήρξαν δύο πιλότοι (Alex Marquez-Aleix Espargaro) που έβαλαν τη μαλακή. Μπροστά, τα σκληρά ελαστικά επέλεξαν – ως συνήθως – οι μοτοσυκλέτες της Honda και της ΚΤΜ που χρειάζονται τη σκληρή γόμα για να έχουν τη σταθερότητα που χρειάζονται στα δυνατά φρένα.
Οι περισσότεροι θεωρούσαν τον Fabio Quartararo – και όχι άδικα – ως το απόλυτο φαβορί για τη νίκη, όμως τελικά ο αγώνας έκρυβε εκπλήξεις. Ο Jack Miller χρησιμοποίησε για μια ακόμη φορά το σύστημα εκκίνησης της Ducati προς όφελός του και πήρε την πρώτη θέση στην εκκίνηση του αγώνα. Πίσω του ήταν ο Miguel Oliveira αλλά και ο Fabio Quartararo με την Yamaha του. Ο παγκόσμιος πρωταθλητής Joan Mir έκανε εξαιρετική εκκίνηση και από την 10η θέση ανέβηκε στην 4η, ενώ ο Marc Marquez και ο Aleix Espargaro ακολουθούσαν. Την ίδια ώρα καταστροφικό ήταν το ξεκίνημα των πιλότων της Petronas, με τον Franco Morbidelli στην 13η θέση και τον Valentino Rossi στην 17η.
Μπροστά ο Jack Miller έκανε ένα λάθος στη δεξιά 4η στροφή και έδωσε το προβάδισμα στον Miguel Oliveira, ο οποίος από το δεύτερο γύρο και μετά θα κυριαρχούσε για να πάρει την 3η του νίκη σε 36 αγώνες στη μεγάλη κατηγορία.
Στον 5ο γύρο ο Πορτογάλος είχε μια διαφορά κοντά στο ένα δευτερόλεπτο από τον Miller, ο οποίος θα έδινε μάχες με τους Joan Mir και Fabio Quartararo. Ο τελευταίος πάντως βρήκε την ευκαιρία στη συνέχεια και μείωσε τη διαφορά από τον Oliveira, τον οποίο και πέρασε στα μισά του αγώνα για να πάρει την πρώτη θέση. Ο πιλότος της ΚΤΜ όμως αντέδρασε γρήγορα και δεν επέτρεψε στον αντίπαλό του να ξεφύγει, νικώντας τον στα φρένα της 1η στροφής, 11 γύρους πριν το τέλος.
Λίγο αργότερα είχαμε πτώσεις για τους Aleix Espargaro και Marc Marquez (3η συνεχόμενη) ενώ Oliveira και Quartararo έκαναν μια μικρή διαφορά από τους υπόλοιπους. Ο Joan Mir, παρά την πολύ καλή του εκκίνηση, δεν είχε το ρυθμό να ακολουθήσει το ρυθμό των δύο μπροστά. Τα πράγματα θα γίνονταν χειρότερα για τον παγκόσμιο πρωταθλητή που σύντομα είδε την πλάτη των Zarco και Miller, ενώ τον πλησίαζε απειλητικά και ο Maverick Vinales.
Προς το τέλος του αγώνα η φθορά των ελαστικών έπαιξε το ρόλο της. Ακόμα και από την κάμερα της τηλεόρασης ήταν φανερή η φθορά στη δεξιά πλευρά του μεσαίου μπροστινού ελαστικού του Fabio Quartararo. Ωστόσο ο Oliveira συνέχιζε να οδηγεί εκπληκτικά και με σταθερότητα, έχοντας τη σκληρή γόμα μπροστά. Με αυτή κατάφερε να κάνει μια διαφορά στα 9 δέκατα από τον Quartararo, που πέρα από τις δυσκολίες με το μπροστινό του ελαστικό είχε και μια πολύ περίεργη στιγμή!
Φαίνεται ότι δεν είχε κουμπώσει καλά τη φόρμα του και με τον αέρα το φερμουάρ άνοιξε και το προστατευτικό του στήθους δεν καθόταν σωστά, ενοχλώντας τον πιλότο της Yamaha και πρωτοπόρο του πρωταθλήματος. Αναγκάστηκε να το πετάξει (!) ενώ έκοψε και την πίστα στις στροφές 1-2. Για το τελευταίο τιμωρήθηκε με ποινή τριών δευτερολέπτων, ωστόσο δεν τιμωρήθηκε για το ότι οδήγησε για τρεις γύρους χωρίς να έχει στο ακέραιο τον εξοπλισμό ασφαλείας του.
Ο Oliveira δέχτηκε την πίεση του Zarco στον τελευταίο γύρο, με τη διαφορά των δυο να μειώνεται επικίνδυνα στο πρώτο μισό. Στο δεύτερο μισό όμως ο Πορτογάλος κράτησε τη ψυχραιμία του και πήρε την πρώτη του νίκη για το 2021 με διαφορά 175 χιλιοστών από τον Johann Zarco.
Ο Quartararo έχασε την 3η θέση λόγω της ποινής που δέχτηκε στο τέλος κι έτσι στο βάθρο ανέβηκε ο Jack Miller που πέρασε τη γραμμή του τερματισμού 4ος. Στην πεντάδα ήταν ο Joan Mir, η μόνη Suzuki στην Βαρκελώνη μετά τον τραυματισμό του Alex Rins, ενώ πιο πίσω ήταν ο Vinales και αρκετά μακριά ο Fransesco Bagnaia.
Μόνο 15 οδηγοί πήραν καρώ σημαία σήμερα κι αυτό σημαίνει ότι όλοι κατάφεραν να πάρουν βαθμούς από τον 7ο αγώνα της σεζόν. Ο Iker Lecuona έπεσε από την 9η θέση στο τέλος, ενώ πτώση είχαν και οι Valentino Rossi, Danilo Petrucci και Pol Espargaro. Με το τέλος του αγώνα, ο Quartararo βλέπει τον Johann Zarco να μειώνει τη μεταξύ τους διαφορά στους 17 βαθμούς, ενώ τρίτος είναι ο Jack Miller (-28β). Με 45β στους δυο τελευταίους αγώνες, ο Miguel Oliveira ανέβηκε στην 7η θέση της βαθμολογίας.