Lewis Hamilton won his 100th Formula 1 race in dramatic fashion as rain caused mayhem at the end of the Russian Grand Prix.
Lando Norris was on course for a maiden Grand Prix victory, but a poor call to not pit for Intermediate tyres when the rain began to fall heavily sent him tumbling down the order, handing the win to Hamilton.
Max Verstappen also benefitted from the chaos to finish in a remarkable second place, having started from the back of the grid.
Carlos Sainz, who led the race early on, rounded out the podium positions in front of Daniel Ricciardo and Valtteri Bottas.
We have rated all 20 drivers based on their qualifying and race performances. Team errors such as a slow pit-stop or a sub-optimal strategy do not affect our ratings as they are no fault of the drivers.
Our ratings solely look at how well the drivers got on throughout the Russian GP weekend in Sochi.
Lewis Hamilton 7.5/10
Started: 4th - Finished: 1st
It was a weekend of two halves for Lewis Hamilton but he ultimately came away with a result he badly needed.
Two mistakes in qualifying put him on the backfoot and he was swamped on the opening lap which made his life even more difficult.
However, he remained patient and kept enough life in his Medium tyres to attack in the second half of the race.
It's unlikely he would have overtaken had it not rained, but you have to be sharp and make the right decisions when there are mixed conditions and that's what Hamilton did, which ultimately won him the race.
A hundred wins is an exceptional achievement and, perhaps more importantly, Hamilton managed to end Mercedes' winless run to retake the lead in the Drivers' Championship.
Max Verstappen 8/10
Started: 20th - Finished: 2nd
The first half of the Russian GP was vintage Verstappen as he charged through the field from last place on the grid, with some very bold, clean overtakes along the way.
But he didn't seem as comfortable when he switched to the Medium tyre compound. Without the chaotic race-ending, Verstappen would likely have finished in sixth or seventh, which is still a solid result.
His and Red Bull's decision to pit for Intermediates paid off in abundance and the damage was certainly limited by Verstappen on Sunday.
Carlos Sainz 8.5/10
Started: 2nd - Finished: 3rd
Sainz's late-braking overtake at the start of the race was very brave and he – just about – pulled it off superbly. The Ferrari didn't quite have the pace of McLaren and Sainz also pitted early compared to some of his rivals.
He managed his Hard tyres well when it initially looked like he may have been on a two-stop strategy, picking his way through the chaos with five laps to go to get back into the podium positions.
It was an excellent weekend from Sainz, one that perhaps has gone under the radar due to other events.
Daniel Ricciardo 7.5/10
Started: 5th - Finished: 4th
Ricciardo returned to his usual average deficit to Norris in Sochi, but played the team game to hold back Hamilton brilliantly.
The raw pace wasn't quite there, though, which he will be disappointed by. Unlike teammate Norris, Ricciardo did pit at the right time and was on course to finish in the top five anyway without the rain.
Given the confidence Ricciardo would have had from Monza, he will be slightly upset with his performance but happy with the result.
Valtteri Bottas 5.5/10
Started: 16th - Finished: 5th
As has been the story so often for Bottas in his F1 career, he looked very strong all weekend until the time it mattered most.
Mercedes can take the majority of the blame for his seventh place in qualifying but there were no excuses for him to not come through the field like Verstappen and Charles Leclerc did.
Bottas didn't defend against Verstappen too hard either, when the Red Bull driver went by, and he was simply stuck in a train of cars even though he had the best car on Sunday.
The late shower benefitted Bottas the most because before that, he was having a poor day.
Fernando Alonso 9/10
Started: 6th - Finished: 6th
Fernando Alonso was arguably the star of the Russian GP weekend. His sixth place in qualifying was excellent and he was driving the wheels off his Alpine in the race.
Alonso went long in the first stint and was hanging on to faster cars to put himself in a position to attack in the second stint.
When the rain came, he was rapid early on and found himself in the top three. Unfortunately, he pitted one lap too late and was caught out by the torrential rain.
Without that, Alonso would have claimed an incredible podium and he was having a fantastic race before the rain arrived.
Lando Norris 8/10
Started: 1st - Finished: 7th
It's very tricky to rate Norris because he was outstanding all weekend until the final five laps. He took a maiden pole position with a brilliant lap in Q3 and kept his head when he lost the lead at the start of the Grand Prix.
Having cleared Sainz, Norris pulled out an impressive lead of more than 10 seconds and saved his tyres to keep Hamilton at bay when the Mercedes driver closed in.
Norris was set for his first win in F1 until the rain came and he stayed out on track, which he admitted was more his decision than the team's.
It was a hero or zero situation and Norris came out on the wrong side of it. Despite this mistake, you can't take too much away from him because once again he proved that he will be winning many races in F1 in the future.
Kimi Raikkonen 7.5/10
Started: 13th - Finished: 8th
Kimi Raikkonen has definitely not lost any of his speed on his return to the F1 paddock following his positive coronavirus test at Zandvoort.
He outclassed Antonio Giovinazzi all weekend, beating him by 1.4 seconds in qualifying in the treacherous conditions.
Alfa Romeo struggled for race pace in Sochi, but Raikkonen was one of the first drivers to gamble when the rain came by fitting the Intermediate tyres.
Similarly to Bottas, he flew up the order and into the points to record his best finish of the season so far.
Sergio Perez 7/10
Started: 9th - Finished: 9th
It was a mixed Russian GP for Sergio Perez. On one hand, he had a big opportunity to deliver for Red Bull, with Verstappen at the back, and he failed to execute a strong lap in Q3 which put him in a tough position.
In the race, his excellent tyre management skills served him very well and he would have been on the podium without the rain.
However, Mercedes were far from perfect and Perez was not there to capitalise due to his poor qualifying. The team got the strategy wrong at the end of the race, but Perez should have been fighting for the win on Sunday.
George Russell 8.5/10
Started: 3rd - Finished: 10th
George Russell underlined his credentials with a stunning qualifying lap to start the race from third place.
He was doing a great job in the early phase of the race to maintain a spot on the podium but the decision to pit him early didn't pay off.
Russell was overcut by several drivers and lost out in the middle of the race as Williams' long pace was found out.
There wasn't much he could do with the car he had but the rain gave him an opportunity to steal a point. That's four out of the last five races where Russell has scored.
Lance Stroll 5/10
Started: 7th - Finished: 11th
Lance Stroll was having a strong weekend but a series of mistakes put him out of the points.
Having qualified in seventh, Stroll was unable to get past Russell, which made his Sunday relatively difficult.
He kept his head and fought hard to keep up with the likes of Ricciardo and Sainz. But everything turned when the rain arrived as he collided with his teammate and caused Pierre Gasly to have an off, receiving a 10-second time penalty for the incident.
It seems that Stroll cracked a little and didn't fare well in the wet conditions – which he usually enjoys.
Sebastian Vettel 6/10
Started: 10th - Finished: 12th
Sebastian Vettel had a big chance to shine at the Sochi Autodrom with all of his experience and his talent in the wet.
But he never seemed to be fully comfortable with his Aston Martin and was running at the back of the midfield for the majority of the race.
Aston Martin will be disappointed to not score any points when there was a big opportunity to take advantage of mistakes and misfortune for others.
Pierre Gasly 6.5/10
Started: 11th - Finished: 13th
Pierre Gasly is another driver who was left frustrated in Russia, mainly because of AlphaTauri's decision to not use new Intermediate tyres in Q2, which meant the Frenchman was eliminated from qualifying when he could have been at the sharp end of the grid.
In the race, Gasly was rather anonymous and was one of the drivers who pitted too late from the dry tyres to the Intermediates.
Esteban Ocon 7/10
Started: 9th - Finished: 14th
On paper, it was a very disappointing weekend for Esteban Ocon. However, Alpine made multiple poor strategic decisions, which was why he finished well outside of the points.
An early pit-stop put Ocon out of contention to mount a serious points challenge as he lost track position, and Alpine also elected to pit him late when the rain came, just like they did with Alonso.
Nevertheless, Ocon was off the pace compared to Alonso, but the gap was exacerbated by some strategical mistakes.
Charles Leclerc 8/10
Started: 19th - Finished: 15th
Charles Leclerc had excellent pace in the first half of the race, following and leading Verstappen through the field.
Whether that was down to Ferrari's updated power unit or the driver is difficult to say, but he looked pretty mighty.
Leclerc was the last driver to change from dry tyres to the Intermediates, which is why he finished down the order.
Antonio Giovinazzi 4.5/10
Started: 17th - Finished: 16th
Antonio Giovinazzi had a dismal weekend, consistently off the pace of Raikkonen and spending most of the race well down the order.
Giovinazzi didn't have any team radio during the race, which would have made things very difficult, but it doesn't fully explain his lack of pace.
Yuki Tsunoda 5/10
Started: 12th - Finished: 17th
It was another underwhelming weekend for Yuki Tsunoda, who cannot get any momentum going in his rookie season.
Qualifying appeared to be closer than usual, only because Gasly was let down by the team's strategy, and in the race he was nowhere.
The pressure must be mounting on Tsunoda, even though he has been confirmed to remain at AlphaTauri next year.
Nikita Mazepin 3.5/10
Started: 15th - Finished: DNF
Nikita Mazepin was well and truly beaten in qualifying by the entire field and was even outside of the 107 percent rule.
In the race, he started well, overtaking Schumacher, but really struggled on the Hard tyre compound.
Nicholas Latifi 5.5/10
Started: 18th - Finished: DNF
Nicholas Latifi was very impressive in Q1 but didn't participate in the rest of qualifying because Williams opted to start him at the back of the field.
He failed to make any inroads in the race and retired just before the heavy rain fell.
Mick Schumacher 7.5/10
Started: 14th - Finished: DNF
Mick Schumacher was delighted with his qualifying performance as he beat Mazepin by 4.2 seconds, which is a huge margin.
In the race, Schumacher's afternoon came to an early end due to a hydraulics failure and Sunday may have been the day when Haas had their best chance of scoring points due to the chaos that unfolded.