Η εκκίνηση έγινε σε βρεγμένο οδόστρωμα με τον Sainz να είναι ο μοναδικός οδηγός που ξεκίνησε με την πολύ μαλακή γόμα, ενώ οι υπόλοιποι επέλεξαν τα ενδιάμεσα ελαστικά. Η εξαιρετική εκκίνηση του Verstappen είναι αυτή που τα βλέμματα, ενώ ο Vettel δε μπόρεσε να περάσει τον Hamilton, μιας και η εκκίνηση του ήταν αργή αλλά κράτησε τη θέση του. Στη στροφή 10, ο Lance Stroll είχε επαφή με τον Sergio Perez, με τον Καναδό να μένει εκτός αγώνα από τον πρώτο γύρο και το Virtual Safety Car να κάνει την εμφάνιση του.

Σε αυτό το σημείο μπήκαν στα pit οι Vettel, Palmer, Alonso, Kvyat, Ericsson, Giovinazzi, Massa και Hülkenberg, βάζοντας slick ελαστικά. Ολοκληρώνοντας τον πρώτο του γύρο με τα στεγνά ελαστικά, ο Ιταλός έχασε τον έλεγχο του μονοθέσιο του πάνω σε βρεγμένο οδόστρωμα.

Όσοι οδηγοί είχαν τα ενδιάμεσα, βρήκαν την ευκαιρία να περάσουν αμέσως στα slick. Προτού καν αποχωρήσει το αυτοκίνητο ασφαλείας, ο Bottas έχασε τον έλεγχο του μονοθεσίου του και έπεσε στην ενδέκατη θέση. Ο Verstappen πέρασε τον Ricciardo και ανέβηκε στη δεύτερη θέση πιέζοντας για λίγο τον Hamilton, ενώ ένα τρενάκι είχε σχηματιστεί για την τρίτη θέση, με τον Ricciardo να είναι μπροστά από τους Raikkonen και Vettel. Ο Sainz ήταν στη έκτη θέση, με τον Alonso να βρίσκεται στην έβδομη θέση μπροστά από τον Perez. Στον ίδιο γύρο, ο Vandoorne εγκατέλειψε τον αγώνα με πρόβλημα στην πίεση του καυσίμου του μονοθεσίου του.

Στον 20ο γύρο, ο Vettel κατάφερε να περάσει μετά από πολλούς γύρους πίεσης τον Raikkonen, που δήλωσε πως είχε πρόβλημα ροπής, ενώ ο Kvyat εγκατέλειψε τον αγώνα, πιθανότατα λόγω μηχανικού προβλήματος. O Vettel κατάφερε μετά από δύο γύρους να περάσει τον Ricciardo με ένα απαιτητικό τρόπο. Ενώ ο Bottas ανέβαινε σιγά σιγά από τις πίσω θέσεις, ο Massa πέρασε σε αλλαγή ελαστικών βγάζοντας την μαλακή και βάζοντας την πολύ μαλακή γόμα με 30 γύρους να έχει μπροστά του. Ο Verstappen στην στροφή 14 υπό την πίεση του Vettel και ο Γερμανός πέρασε εύκολα στην δεύτερη θέση. Ο Verstappen ένα γύρο αργότερα μπήκε στα pit, βάζοντας την πολύ μαλακή και βγήκε στην πίστα πίσω από τον Bottas, στην έκτη θέση.

Επόμενος που μπήκε στα pit ήταν ο Daniel Ricciardo, που έβαλε και πάλι πολύ μαλακή γόμα. Στον ίδιο γύρο, ο Sainz (μετά το δεύτερο pit stop του), πέρασε τον Alonso που είχε πρόβλημα με μονοθέσιό του και εγκατέλειψε ένα γύρο αργότερα, με την McLaren να τελειώνει το Σαββατοκύριακο της με ένα απογοητευτικό τρόπο.

Ο Vettel μπήκε στα pit βάζοντας την μαλακή γόμα και βγήκε οριακά μπροστά από τον Ricciardo. Στον 36ο γύρο, ο Bottas έκανε το ίδιο, με τον Hamilton να το επαναλαμβάνει ένα γύρο αργότερο. Μετά από αρκετό εκνευρισμό για τον Raikkonen, ο Φιλανδός έκανε το pitstop του για πολύ μαλακή γόμα, έστω και αρκετά καθυστερημένα, με αποτέλεσμα να βγει πίσω από τον Sainz. Ο Raikkonen κατάφερε να τον περάσει σύντομα και ανέβηκε στην πέμπτη θέση πίσω από τον Ricciardo.

Ο Vettel με τον Hamilton, κατέβασαν τους χρόνους συνεχώς, με την διαφορά τους να φτάνει μέχρι τα 7,7 δευτερόλεπτα. Ο Bottas, 11 γύρους πριν το τέλος, πέρασε τον Sainz και ανέβηκε στην έκτη θέση. Η μάχη για τον τελευταίο βαθμό ήταν ανάμεσα σε Ocon και Massa, με το Γάλλο νικητή. Ο Magnussen έκανε την αντεπίθεση του στο τέλος του αγώνα και ανέβηκε στην όγδοη θέση, περνώντας τον Perez. Στους τελευταίους γύρους το ενδιαφέρον στράφηκε στην ενδοοικογενειακή μάχη μεταξύ των δύο Red Bull, με τον Ricciardo να πιέζει ανεπιτυχώς τον Verstappen για την τρίτη θέση.

Ο Hamilton πήρε την νίκη, ανεβαίνοντας για πέμπτη φορά στο υψηλότερο σκαλί του βάθρο στην Shanghai, με τον Vettel να ακολουθεί και τον Verstappen να συμπληρώνει το βάθρο μετά από έναν εξαιρετικό αγώνα, τον οποίο εκκίνησε από τη 16η θέση.

POSNODRIVERCARLAPSTIME/RETIREDPTS
144Lewis HamiltonMERCEDES561:37:36.1580
25Sebastian VettelFERRARI56+6.250s0
333Max VerstappenRED BULL RACING TAG HEUER56+45.192s0
43Daniel RicciardoRED BULL RACING TAG HEUER56+46.035s0
57Kimi RäikkönenFERRARI56+48.076s0
677Valtteri BottasMERCEDES56+48.808s0
755Carlos SainzTORO ROSSO56+72.893s0
820Kevin MagnussenHAAS FERRARI55+1 lap0
911Sergio PerezFORCE INDIA MERCEDES55+1 lap0
1031Esteban OconFORCE INDIA MERCEDES55+1 lap0
118Romain GrosjeanHAAS FERRARI55+1 lap0
1227Nico HulkenbergRENAULT55+1 lap0
1330Jolyon PalmerRENAULT55+1 lap0
1419Felipe MassaWILLIAMS MERCEDES55+1 lap0
159Marcus EricssonSAUBER FERRARI55+1 lap0
NC14Fernando AlonsoMCLAREN HONDA33DNF0
NC26Daniil KvyatTORO ROSSO18DNF0
NC2Stoffel VandoorneMCLAREN HONDA17DNF0
NC36Antonio GiovinazziSAUBER FERRARI3DNF0
NC18Lance StrollWILLIAMS MERCEDES0DNF0