Valtteri Bottas has taken his second win in four races, as Mercedes grabbed a fourth consecutive one-two finish in 2019.
The second Silver Arrow of Lewis Hamilton followed in second place, 1.5 seconds behind. The pair fought each other off the line at the start, with Hamilton getting the initial jump on Bottas, who started from pole.
After going side-by-side through the first two corners, Bottas edged ahead and only came under pressure from his teammate in the final handful of laps.
Ferrari struggled to keep up with their rivals, but managed to secure a third-place finish with Sebastian Vettel.
Vettel was the first of the leaders to switch from the soft tyre to the medium on lap 13. On the following three laps, Bottas, Hamilton and the Red Bull of Max Verstappen all followed suit, while Charles Leclerc stayed out.
After crashing in qualifying, Leclerc started on the medium tyres and went far into the race, only switching to the soft tyres on lap 35.
At that stage, Bottas, Hamilton and Vettel all overtook the Monegasque driver, who crossed the line in fifth place. Leclerc emerged from the pits behind Pierre Gasly, who still hadn't stopped after starting from the pit lane.
On the penultimate lap, Leclerc secured the fastest lap of the race to take an extra point, having pitted for a second time late on in the race.
After being on for a strong P6 result, Gasly was forced to pull over and retire with an engine issue on lap 40, promoting Sergio Perez up one spot, who takes his best result since the Belgium Grand Prix last season.
Perez ran in fourth place in the opening laps of the race, after getting ahead of Verstappen off the line.
McLaren secured a nice handful of points as Carlos Sainz and Lando Norris crossed the line in seventh and eighth place.
Lance Stroll took home an additional two points for Racing Point, climbing his way into ninth place and finishing ahead of Kimi Raikkonen, who rounded out the top ten.
Daniel Ricciardo and former teammate Daniil Kvyat were involved in an incident that ended up in putting both of them out of the race.
Ricciardo ran too deep at Turn 3 and went into the runoff area while Kvyat too was forced wide, unable to turn in due to Ricciardo going straight on.
As Ricciardo tried to recover, he reversed into the rear of the Toro Rosso. Kevin Magnussen also retired from the Grand Prix, capping off a tough weekend for Haas.