Mặc dù xuất phát ở vị trí đầu tiên nhưng Lewis Hamilton đã đánh mất lợi thế ngay từ vòng đua thứ nhất vào tay của Max Verstappen (Red Bull) sau tình huống tay đua người Hà Lan vượt trong ở cua đầu tiên để chiếm lấy vị trí dẫn đầu. Trong khi đó Charles Leclerc của Ferrari đã vượt qua Bottas bằng pha vượt ngoài ở cua thứ 3 để leo lên vị trí thứ 3. Lần lượt xếp sau là Daniel Ricciardo (McLaren), Sergio Perez (Red Bull), Esteban Ocon (Alpine) và Carlos Sainz (Ferrari).
Verstapeen nhanh chóng thiết lập khoảng cách với Hamilton, còn Bottas tỏ ra khá vất vả để tìm cách vượt qua Leclerc. Cuộc đua đã bị dừng lại ở vòng thứ 8 khi chiếc xe của Yuki Tusunoda chết máy ở cua thứ 10. Sau khi cuộc đua được tiếp tục, Hamilton vẫn chưa thể vượt qua Verstappen, trong khi đó Lance Stroll đã điều khiển chiếc Aston Martin của mình vượt qua Fernando Alonso ở cua thứ 5 để giành lấy vị trí thứ 10.
Hamilton đã hoàn thành vòng đua nhanh nhất của mình để thu hẹp khoảng cách với Verstappen xuống còn 1/3 giây trước khi chuẩn bị vào khu vực pitstop. Trong top 5 tay đua dẫn đầu Bottas là người đầu tiên vào thay lốp và sau đó 1 vòng là Verstappen, Hamilton hơn nửa giây so với người dẫn đầu vừa vào pitstop.
Mercedes đã chọn thời điểm vào pitstop cho Hamilton ở vòng thứ 43, đây là một quyết định quan trọng mang về chiến thắng cho Hamilton. Với 10 vòng đua còn lại ở phía trước, Hamilton đã thu hẹp khoảng cách với Verstappen xuống còn dưới 7 giây. Tới vòng thứ 59, ngay khúc cua đầu tiên tay đua ngườ Anh đã vươn lên dẫn đầu để giành chiến thắng tại chặng đua Tây Ban Nha. Verstappen kém 15 giây xếp ở vị trí thứ 2, về thứ 3 là Bottas với thành tích kém người đồng đội ở Mercedes 26 giây và Leclerc ở vị trí thứ 4.