I'll make top 5's (and a very long post, I'm afraid):
Best one day race:
5: Paris-Roubaix - it would be a weird year if Paris-Roubaix could not crack the top five but I wasn't that much a fan this year. I was getting tired of Deceuninck winning everything and devastated that Sagan hunger-flatted after suddenly having looked like his old self. I was very relieved that Lampaert didn't secure himself a tactical victory and felt it was about time that Gilbert wasn't the victim of the QuickStep outnumbering situation that he had so often been the last couple of years. The Van Aert substory was also quite remarkable. And it was still some of the best few hours spent in front of the television of the year - just not quite as much as it can be, and the finale was not as compelling as you could have wanted.
4: WCRR - apart from wasting Koronin's time, the world championships road race provided the rest of us with a brutal race with an intriguing finish including plenty of plot twists, and it truly showed why so many people on here always come in to leave a comment asking for rain before every important race. I don't have it higher on my list because there was not much suspense in the battle of the Pedersen-Trentin-van der Poel-Küng-Moscon group versus the peloton which made the outcome feel like a foregone conclusion, as soon as they had gone away. It turned out not to be the case, but still, it was a bit too static.
3: Milan-Sanremo - it's only 7-8 minutes of fun, but definitely some of the most high-octane and star-studded action of the year. It left me mightily depressed that Sagan again screwed up but objectively, it was as good a finale as you could have hoped.
2: Gent-Wevelgem - okay, it ended in a bunch sprint with Kristoff winning in front of Degenkolb but what went before was the most brutal one-day race of recent memory. Cross-wind racing from the gun (literally) made the riders fight for position in the neutral start - 250 kms from the finish! The race had everything but the end result was a bit disappointing. Fernando Gaviria deserves a mention for his role in Kristoff's win, though, pretending to be the one UAE rode for, which ended up completely disrupting Viviani's chances. That was brilliant team tactics by the Colombian.
1: Amstel Gold Race - a finale of 43 kilometres provided an hour of fine racing and 7-8 minutes of insanity that I can just watch over and over again. The most extraordinary ending to a one-day race I have ever seen makes Amstel take the cake here.
Best stage in a stage race:
5: Itzulia, final stage - Buchmann was in yellow after a magnificent stage victory on the Arrate stage and after three stage wins from his teammate Schachmann. They also had Patrick Konrad in the top ten, yet the whole race crumbled for them in the face of victory, when the dynamic quintet of Adam Yates, Dan Martin, Pogacar, Fuglsang and Ion Izagirre went away. Yates, the only man without company in the group managed to sneak away for a stage win, whereas Izagirre managed to win his home race for the first time after three podium placings. The stage ended bizarrely, with Buchmann et al. taking a wrong turn at the end, and him getting awarded overall third after Fuglsang had been celebrated on the podium. Nevertheless, the decision didn't seem too unreasonable to anyone but the Dane.
4: Paris-Nice, opening two stages - Okay, I'm cheating a bit here, but the first two stages of Paris-Nice were very similar and epitomised what the race is all about. Hardcore cross-wind action from a long way out may have resulted in two Groenewegen stage wins but it also did a big job of chopping off a bunch of GC riders who had hoped to have the race settled in the mountains. Nope said Luke Rowe and Egan Bernal.
3: Tour de France, stage 15 (Prat d'Albis) - One of the most proper, old school GC battles on a MTF we've seen in the Tour for a long time with actual separation, no mountain train and not just a final kilometre attack, but riders riding in ones and twos for a long time. Pinot winning that battle emphatically made was what to follow all the more heartbreaking. Not riding for the stage win takes the stage down to here.
2: Vuelta a España, stage 20 - Pogacar's third win and the most impressive, what with him attacking from very far out, soloing it home. Valverde's inexplicable stopping to his attack because he didn't like that Bora chased him irked me a lot, but the stage was still great.
1: Vuelta a España, stage 17 - the fastest plus 200 kms stage or race in cycling history was a very compelling saga. It was a veritable bomb down the GC where plenty of top 10 riders were blown out of the water and where we suddenly had a group consisting of only Valverde, Roglic, Superman, Majka, Pogacar and Kelderman with 40 kilometres remaining on a flat stage. It was bizarre, it was compelling, it ended up not being as influential as it seemed it could be, and it ended up with a win for Gilbert over Sam Bennett and Cavagna who proved himself to be one of the strongest riders of the world on this day.
Best stage race:
5: Itzulia - A fine race dominated by German Bora riders came to a dramatic conclusion on the untraditional final non-TT stage. The race included a dramatic crash that took out some of the major Ardennes players (Kwiatkowski and Alaphilippe), and it was the race where we really saw that Pogacar was the real deal. And Izagirre finally got his unlikely overall victory in his home Tour.
4: Tirreno-Adriatico - No MTF made this race very interesting, and the WTF-moment of the year came on stage 4 where Lutsenko was on a solo attack, crashed twice on the same descent, got caught on the finishing straight and then won the sprint. The next day was the only time outside the Giro where someone managed to make Roglic seem human. That someone was Adam Yates but also Fuglsang who had broken free early and took an impressive stage victory to continue an extraordinary spring. The finish of the race was dramatic too with Roglic snatching the GC win from Yates by a single second on the final TT.
3: Paris-Nice - A gale welcomed the riders on the flat and open opening two days and the race was splintered to pieces in the cross-winds. Simon Yates randomly won a TT, Martínez somehow beat Superman and Yates on a MTF, Magnus Cort showed his strength as a breakaway artist and Quintana made a fine effort on the last stage against a Sky team that was never out of control and secured Egan Bernal his biggest victory.
2: Vuelta a España - There was not much doubting who would win but other than that, there was plenty of fun. The youngest rider in the race winning three stages and finishing third behind the oldest rider in the race, plenty of cross-wind shenanigans, bath-tub induced crashes on the TTT (okay, that was perhaps not fun for everyone involved), Madrazo with the weirdest stage win I ever saw, López getting and losing the jersey so many times that his teammates must have gotten epileptical, Quintana winning a "flat" stage, and the whole Andorra climb being shrouded in mystery due to the insanely ill-timed hailstorm that rendered TV production impossible.
1: Tour de France - I think this is the first time I have really felt this way but during the last week of the Tour I could barely contain myself over the excitement - you just didn't know who would win. Everything was open. Alaphilippe's show was always unlikely to continue until Paris but Pinot looked like the most likely winner, with Thomas as his biggest rival. Then Bernal stunk in the TT, then Thomas cracked on the Tourmalet, then Alaphilippe cracked on the Prat d'Albis, then Bernal regained time on the Galibier, and then Pinot abandoned, and landslides and Bernal and.... It was a wild ride and BY FAR the best Tour we have had in this decade.
Best non-WT race:
I don't count Worlds to belong in this category, even though it technically does.
And I can only comment on what I watched (which is most races but not all).
5: European Road Race - and then again - I didn't watch this race. But I heard it was good. I also heard that Lampaert just rode for second to make Viviani win. Two riders I dislike. And Deceuninck. But Viviani winning in this way was impressive and it's hard to argue that was not a deserving wearer of the jersey.
4: Arctic Race of Norway - A nice race in a beautiful and unforgiving environment. Van der Poel came, saw and won but then got a bit sick and stopped winning. In the end, Lutsenko won the race because Barguil couldn't hold his wheel in the final sprint and prevent him from gaining a second.
3: Tour of Belgium - Evenepoel's origin story. Him riding so fast that Campenaerts crashed, trying to follow him was when most realised that the future had arrived (especially those not so few people who either didn't watch the Hammer Limburg or who think that somehow, performances in Hammer races have nothing to do with cycling ability) and that this kid can ride a road bike solo like nobody else.
2: Volta ao Algarve - Pogacar's emergence on the big scene. Solid ITT, brilliant climbing, but what made this race stand out for me was the last stage where Søren Kragh in his by far best day of the season attacked from afar with Zdenek Stybar and almost managed to snatch the GC victory but had to settle for second while Stybar took the stage win on the Malhão to set up his most succesful spring campaign so far.
1: Brabantse Pijl - van der Poel, Alaphilippe, Matthews and Wellens is a pretty strong quartet to decide non-WT race. And van der Poel winning rather convincingly made him the big favourite for Amstel. Alexander Kamp almost managing to follow that group was probably what finally landed him a WT contract.
Race that left a bad taste in your mouth(non-clinic):
5: Kuurne-Brussel-Kuurne - The Opening Weekend ending with two Deceuninck solo victories did not bode well. That Bob Jungels could just trot up to the cobbled classics and ride away with a long solo attack boded even worse. I almost shut down my TV when he did the same in E3 but amazingly, the other riders managed to come to an agreement of actually trying to catch him - and even more amazingly, they succeeded. Then Stybar just battered them in the sprint, but still.
4: Tre Valli Varesine - Not Roglic' most deserved win, let's just say that.
3: Il Lombardia - Freaking commercial break on the Civiglio! And nobody understanding the danger when Mollema attacked. How could they just let him get away? Why can Valverde never learn? So annoying.
2: Tour of Flanders - It was the worst edition since the Devolder years, I think. No separation of the best meant a big group, and Bettiol was probably the strongest but it wasn't very interesting to follow the last 15 kms even if it was a very impressive and surprising victory. Van der Poel jumping the flowerbed was stupid, and him crashing because he rode one-handed with a broken front wheel even more so. That he still managed to be fourth speaks volumes about his level. Valverde mixing it up was delightful, Sagan being mediocre less so. Asgreen was an absolute beast and that was of course also delightful to watch, but it was a bit sad to think that he might have won if he hadn't been used as a domestique since mid-way through the race even if that role made sense to give him.
1: Giro d'Italia - I think it sucked. All the way through. Horrible, horrible design of the first 12 stages, many key players getting taken out, a relative no-name who apparently can't be bothered to race the other 11 months of the year ending up winning, almost all stages going to breakaway riders. Chaves winning was an emotional highlight but a cheap victory in a weak breakaway group, and if Vendrame had not had a mechanical issue, he would have won instead. The Jumbo peeing issue was comedic but bad for the race. Ciccone was a positive highlight, so was Masnada. Campenaerts getting pushed while running with his bike was also comedy gold in a heartbreaking moment for him.