The 2019 season was pretty much one of two halves; a string of absolutely dire races was followed by a mid-season purple patch where almost every grand prix wound up being a bit of a classic.

In fact, many races were so equally good or equally bad that separating them all and putting them into a definitive ranking (as we did last year) proved a bit too tough. This time around, we’ve grouped them together and given them a rating ranging from A* (the best) to F (the worst). Let’s kick off with the highlights and work our way down from there.

It had to be, didn’t it? In a year with a decent share of excellent races, these two stand head and shoulders above the rest.

The German Grand Prix (which, sadly, looks like being the last one for a while) was the most chaotic race we’ve seen in F1 for years, thanks to unpredictable weather and the super slippery dragstrip on the outside of the final corner that even caught out Lewis Hamilton. Throw in all the other drivers who binned it in the tricky conditions, Sebastian Vettel going from last to second, Lance Stroll briefly leading the race, Daniil Kvyat finishing on the podium and Williams scoring its only point of the year, and you end up with pretty much everything you could want from a grand prix.

Brazil was a totally different kind of epic race. Max Verstappen’s scrap with Hamilton early on was entertaining, but it wasn’t until Valtteri Bottas broke down that things really kicked off. Verstappen and Alex Albon overtaking around the outside of the first corner in sync, the Ferrari’s colliding, Hamilton’s gamble, and the pain of seeing Albon lose out on a chance of a maiden podium through no fault of his own. That was immediately remedied when Pierre Gasly’s Toro Rosso beat Hamilton to second in a drag race to the line, and then again when Carlos Sainz was promoted to third – from last on the grid – following Hamilton’s penalty.

The Austrian GP was a brilliant slow-burner. As Verstappen recovered from a woeful start to move through the field and deny Charles Leclerc his first win on the penultimate lap of the race. It was also Honda’s first win, and the joy of boss Toyoharu Tanabe on the podium was infectious. The winning overtake was a touch controversial and the fact we had to wait hours after the race to find out who’d actually won was a bit of a shame, but thankfully things ended with the right result. The refreshing sight of Mercedes not making it nine wins in a row was also a huge morale boost for all F1 fans following a season which, up to this point, had been rather horrendous.

The second half of the British GP was nothing to write home about as Hamilton cruised to the win, but that was more than made up for by a sensational second half. Bottas showed that he can fight with a mega pass on his teammate into Copse, but all eyes were on Verstappen and Leclerc, who were knocking seven bells out of each other in a battle which just about remained within the realms of fairness… until Vettel had a monumental bit of brain fade and ruined it all.

And the Italian GP? Well, seeing Leclerc deliver Ferrari’s first Monza victory in nine years having had to fend off both Mercedes drivers was just superb. Plus, all those shenanigans in qualifying were as entertaining as they were stupid.

Leclerc taking pole in only his second race for Ferrari, losing the lead, taking it back and looking set for victory, only for reliability to spoil everything was a perfect microcosm for the emotions we as fans can go through watching a race. Hamilton’s brief battle with Vettel was rather entertaining, too, as was the subsequent explosion of sparks from the Ferrari when Vettel’s front wing became detached. At the time it also made it look like Mercedes and Ferrari were going to give us a close championship fight – and a bit of post-race optimism is always good.

When you look back on it now knowing the result, Monaco appears to have bee a bit of a dull race. But the tension of not quite knowing whether Hamilton’s tyres would last made for compelling viewing at the time, especially as Max Verstappen was the driver directly behind him. As Monaco Grands Prix go, this was about as good as you can reasonably expect from a dry race – we might have given it an ‘A’, too, but with Verstappen’s five-second penalty hanging over the race, it did sap a bit of the tension out of the closing laps.

The battle between Hamilton and Verstappen in Hungary was also stonking as the two circulated close together – Hamilton seemingly faster, but unable to pass. Mercedes’ strategy gamble was a bit of a throwback to the old Pirelli era of racing as Hamilton tried to carve time out of Verstappen, with the prediction being that it would go down to the final laps. Unfortunately, the Red Bull’s tyres dropped off the cliff as the race neared the end and Verstappen was unable to defend, Hamilton taking what proved to be a slightly more straightforward win than it had looked when he made his final pit stop.

Once again, the US GP was a battle of different strategies as Hamilton tried to recover from a poor qualifying session to try and win on a one-stopper compared to Bottas and Verstappen, who pitted twice. Bottas had the upper hand and we were treated to a bit of a battle between the Mercedes drivers as the Finn grabbed the lead with five laps to go and took what was probably his best win. Unfortunately, yellow flags came out in the worst possible place for Verstappen and he couldn’t have a go at taking second, but it was still nice to see an exciting battle for all three spots on the podium.

A charging Hamilton ran out of laps to try and stop Leclerc from taking an emotional first win on the weekend the tragically claimed the life of Anthoine Hubert. Alex Albon also provided some entertainment as he went from 17th to fifth in his first race for Red Bull, but overall the race was a pretty standard affair.

Singapore had little in the way of on-track action, but the apparent controversy of how Vettel managed to jump ahead of Leclerc to take the lead (and eventually win) meant that there was plenty of drama. The tyre-saving antics of the front-runners also meant that the midfield was more involved than usual, to the point where Antonio Giovinazzi became the first non-Mercedes, Ferrari, or Red Bull driver to officially lead a lap of a race since 2015.

As races in Abu Dhabi go, this year’s event – which seemed to have quite a jovial ‘end of term’ atmosphere about it – was actually quite good. OK, it was kinda dull at the front (brief fight between Verstappen and Leclerc aside), but with so much on the line the midfield fights were incredible. You had Sergio Perez and Kvyat charging through at the end on fresh rubber, with Perez pulling off a particularly lovely move on Lando Norris to secure seventh. Meanwhile, Carlos Sainz took the brave decision to make a second pitstop to try and score enough to secure sixth in the championship – which he did with a last-lap lunge on Nico Hulkenberg to finish 10th and score the point he needed.

OK, so the Canadian GP was terrible, and the ridiculous penalty handed to Sebastian Vettel was such a travesty that we were tempted to rank this right at the bottom. However, Vettel’s reaction after the race – initially refusing the to go the podium, swapping the position boards in parc fermé, and eloquently explaining himself in the cooldown room and on the podium afterwards provided enough of a silver lining to ensure that there are at least some fond memories from that weekend.

Russia gets bonus points for similar reasons. Vettel ignoring team orders while Leclerc politely explained his feelings over team radio was thoroughly amusing. Unfortunately, just as Ferrari redressed the situation and we were set to see the two fight until the end for the win, Vettel broke down, the VSC was deployed, and Mercedes was handed an easy one-two.

Japan was a bit of a let down as the promise of a multi-car fight for the win were effectively ended on the opening lap. Pole-sitter Vettel fluffed the start, allowing Bottas to sweep into the lead and take the win, while Leclerc barrelled Verstappen out of the race at Turn 2, then proceeded to shower the track (and Hamilton) in debris from his disintegrating front wing. And that was pretty much that.

At around the halfway stage, it looked like the Mexican GP was going to be a cracker. There were four drivers on various different strategies, with the expectation that everything would close up into a battle royale in the final laps. Unfortunately, on this occasion, that didn’t happen, as Hamilton won from Vettel, Bottas and Leclerc, while Max Verstappen ended up out of contention after a scruffy first lap. That’s probably a good thing from an excitement perspective as had got through lap one unscathed, he’d probably have dominated the grand prix and taken away the minor intrigue that we did have. Bonus points for that, and the unusual podium ceremony.

The Australian GP always has an element of excitement about it simply because it’s the first race of a new season. Unfortunately, this year’s race was a bit of a bore, with the major surprise being Bottas’s crushing victory over Hamilton (though it later turned out to be because Hamilton’s car was a bit damaged) and his incredibly ‘zero f**ks given’ attitude after the race. Verstappen beating the Ferraris to the podium was a bit of a shock and there were memorable moments, like Daniel Ricciardo destroying his front wing on the grass before he even reached the first corner, but the fact it was the first race of the season is just about the only thing Australian had going for it.

After the carnage of the previous two years, Azerbaijan was weirdly disappointing. It looked like the craziness was back for a third year in a row when a drain cover came loose and a recovery vehicle hit a bridge in practice, along with Charles Leclerc binning it during a qualifying lap. But in the race, Mercedes swanned off to another one-two finish, the only real excitement coming when Ricciardo reversed into Kvyat’s Toro Rosso. Let’s hope that was just a blip and that we see a return to bonkers Baku in 2020.

Because it was the 1000th World Championship race, there was so much hype around the Chinese GP. And, given that Bahrain had been a good race and that Shanghai often throws up decent racing, we were hoping for something worthy of such a landmark event. Instead, we ended up with 90 minutes of tedium as Hamilton won from Bottas while Ferrari dithered with team orders. Alex Albon’s drive from a pit lane start to the points was about the only real highlight in a race where even the midfield scrap was remarkably subdued.

The Spanish GP was broadly similar – a Mercedes one-two, team orders and dodgy strategy from Ferrari, and no real threat of anything interesting happening. Well, there was Romain Grosjean being duffed up by his teammate following the collision between Stroll and Norris, plus a strong drive from Kvyat, but overall, it was a bit pants.

In the school grading system in the UK, a ‘U’ can be ‘awarded’ for a test which isn’t even good enough to receive a grade. In other words, a result so bad that it is, in effect, ungradable. In the context of this season and this ranking, the French GP was ungradable.

It marked Mercedes’ eighth win from eight races (Hamilton six, Bottas two) and the sixth time they’d finished one-two. It was also an incredibly dull race, the only brief glimpse of excitement coming in a last-lap melee in the midfield from which the only thing anyone can remember is that Ricciardo was given a couple of five-second penalties.

It was such a bad race that people within F1 were becoming genuinely concerned about the state of sport and what the future might hold for it. We all expect (and put up with) a terrible race every now and then, but following the French GP, we’d simply had enough of it all. Thankfully, this was the point where things turned around and the season evolved into something a bit more memorable – presumably because it was literally, physically impossible for it to get any worse.