Lewis Hamilton claimed a thrilling victory in a chaotic Azerbaijan Grand Prix, his first of the season, putting him in control of the championship with a four-point advantage over Ferrari's Sebastian Vettel.
Vettel went on to finish fourth after locking-up during a restart as he tried to pass Mercedes' Valtteri Bottas, who retired from the lead of the race with just a handful of laps to the chequered flag when he suffered a puncture.
Vettel meanwhile lost out on a podium finish to Force India's Sergio Perez as the Mexican claimed his seventh career podium and his second in Baku.
Kimi Raikkonen finished second despite dropping down the order at the start of the race when he and Esteban Ocon made contact. That contact ended Ocon's race as the Force India driver ended up in the tyre wall at Turn 2.
Azerbaijan GP: Full race result
It was one of several opening lap incidents. Fernando Alonso suffered a double puncture after Nico Hulkenberg and Sergey Sirotkin tussled and ran into the McLaren, which was forced to crawl back to the pits with just two wheels. Alonso still finished in the points with seventh whilst team-mate Stoffel Vandoorne was ninth.
A Safety Car was called as debris littered the track. At the restart Pierre Gasly made up the most places jumping to seventh from the back but didn't have the pace to maintain position and eventually finished 12th.
The race was action packed throughout with battles up and down the grid, most notably Red Bull v Renault. Both Carlos Sainz and Nico Hulkenberg made up places on Max Verstappen and Daniel Ricciardo respectively as the Red Bull duo suffered from battery charging problems.
Hulkenberg then dispatched Verstappen to put the Renault pair fourth and fifth before the German made an error and slammed the wall with his left-rear, ending his race. Sainz though went on to finish fifth.
Verstappen and Ricciardo weren't done though and the pair continued to fight one another aggressively with many predicting it would end in tears. Initially it didn't, but eventually it did. Ricciardo got past his team-mate before they swapped positions again during their first stops. Take two didn't go to plan as Ricciardo ran into the back of Verstappen, ending both their races on the spot.
That brought out a second Safety Car which played into Bottas' hands beautifully. The Finn had stayed out on his older tyres whilst those behind had stopped earlier. That gave him a free stop and he held the lead under the SC, much to Vettel's confusion.
Just as the Safety Car looked set to peel off, Romain Grosjean binned his Haas into the wall whilst weaving to heat his tyres, which meant when we finally restarted there remained just four laps.
At the restart Vettel charged down the inside of Bottas only to lock-up and run wide, allowing Hamilton and Raikkonen through, dropping the German to fourth with a heavily flat-spotted tyre which later cost him a position to Perez.
Baku wasn't finished. Two laps left and Bottas suffered a puncture whilst leading, replays revealing he ran over a piece of debris. That handed the victory to his team-mate whilst he ended up retiring in 14th.