The latest in our series of end of season reviews highlights the shocking moments which divided opinion and got fans talking. Here are cycling's most controversial episodes from the last 10 months – in chronological order…
CRO Race
'Time to go!' - Viviani takes final stage as Mohoric snatches GC victory from Vingegaard

Women's Omloop stopped for going too fast

After Nicole Hanselmann (Bigla) attacked seven kilometres into Omloop Het Nieuwsblad she could have not known the storm she was going to create. Having built up a lead of two minutes, she was pulled up in her prime by race officials for getting too close to the vehicle convoy following the dawdling men's race ahead.
It transpired that, despite starting 10 minutes ahead of the women's race, the men's peloton had sat up and were taking things very easy after allowing an early break to form – too easy, in fact.
Once the gap between the two races had reached an acceptable level again, the Swiss 27-year-old was given a head start on the peloton and sent on her way. But the cold weather and enforced break took the wind out of her sails. Hanselmann, who later described the her halting as an "awkward moment", was soon caught and finished 74th. What a shambles.

Benoot collides with Jumbo-Visma team car

In the first of many entries involving perhaps over-zealously driven team cars, Tiesj Benoot's spring classics season was brought to a painful and abrupt halt when the Belgian ploughed into the back of a Jumbo-Visma car during Paris-Roubaix.
The impact shattered the rear window and forced the 25-year-old out of action with a broken collarbone.

Viviani denied for dangerous sprinting in Stage 3 of Giro

It could have set the tone for a marvellous home tour for the Italian national champion – but instead, Elia Viviani's victory in Orbetello ended up with a DQ for DQS.
Launching from the back wheel of rival Pascal Ackermann after a highly technical chicane, Deceuninck-QuickStep's Viviani veered across the road and almost took out compatriot Matteo Moschetti en route to a win that lasted all but a handful of minutes.
It was a big call from the race jury to relegate the Italian national champion but that's exactly what they did, awarding the win to a surprised Fernando Gaviria instead. The decision seemed to destroy Viviani, who entered the race as the in-form sprinter but left empty handed and bereft of confidence.

Lunatic drops bike in front of Giro breakaway

Stage 18 of the Giro almost came crashing to a halt when a crazed spectator walked onto the road and rather unceremoniously dumped a broken bicycle in front of the oncoming break.
The three riders managed to swerve out the way, but things could have been far more serious had the bizarre protest played out with the peloton bearing down instead. Just what was he thinking?

S*** hits the fan in the Giro

With five categorised climbs, the profile of the penultimate stage of the Giro certainly packed a punch. But no one expected Miguel Angel Lopez to fight back.
Languishing in sixth place on GC and dropped by his rivals on the final ascent, the Colombian could be forgiven for being angered by a Slovenian spectator who accidentally knocked him off his bike inside the final 5km on Monte Avena.
Yet the sight of the diminutive "Superman" lashing out with his fists and feet – before delivering the coup de grace by flicking off the fan's cap – left a nasty taste in the mouth.
Lopez, who finished 1'49" down in the stage, was fined for his unedifying behaviour but the Astana climber somehow avoided being booted off the race. Riders have been ejected for far less – just ask Messrs Martin and Rowe…

Roglic sanctioned for spectator push

Also in Stage 20 of the Giro, and also involving, presumably, Slovenian fans, Primoz Roglic found himself in hot water after being pushed on two occasions by spectators on the climb to Monte Avena.
While the Jumbo-Visma rider himself didn't knowingly break the rules, Roglic did little to discourage his countrymen from giving him a helping hand – and the jury dealt him a 10-second penalty accordingly.

'That's a fine, surely!?' - Primoz Roglic pushed up the mountain by two fans

Van Garderen given reprieve from California jury

The Tour of California race jury was branded "incompetent" by Deceuninck-QuickStep manager Patrick Lefevre after his rider Kasper Asgreen was denied the race lead in Stage 4 following the controversial decision to reinstate American Tejay van Garderen into yellow.
EF Education First's Van Garderen was awarded the same time as the lead group despite finishing the race nearly a minute down, having been caught up in a crash outside the 3km mark while chasing back from an earlier mechanical.
And while victory went to QuickStep's Fabio Jakobsen, the Dane's manager Lefevere did not mince his words following the decision that denied Stage 2 winner Asgreen the race lead.
"What I saw wasn't normal. Is it because he's American? I don't know. I hope not," said Lefevere, further fanning the flames.

Bonifazio's chances scuppered by fan's phone

He may not have won Stage 11 but Italy's Niccolo Bonifazio was done no favours after a spectator's not-so-smart phone collided with the Total-Direct Energie sprinter's helmet on the home straight in Toulouse.

Dennis walks out of Tour after Merida meltdown

Confusion reigned on the Tour when news broke that world time trial champion Rohan Dennis had quit the race during Stage 12 on the eve of the only time trial.
No official reason was given neither by Dennis nor his Bahrain-Merida team – but the timing seemed a little off, given the Australian had earlier been in the battle to make the break, and had that 27km ITT in Pau (for which he was one of the favourites) to look forward to.
The team's senior directeur sportif Gorazd Stangelj said he was "confused" and "disappointed" with Dennis' decision amid rumours that the grouchy want-away star was unhappy with his team clothing suppliers and Merida bikes.
When, two months later, Dennis successfully defended his world TT crown he did so on a blacked-out BMC bike. Instead of joining in the congratulations, Bahrain-Merida – for whom he had not ridden since his hissy fit – promptly terminated his contract. The 29-year-old is still looking for a team for 2020.

'I'm still here to win' - Dennis revels in perfect day in ITT after 'tough year'

Van Aert crashes out of Tour after barrier controversy

Four days after picking up a maiden stage win in his first Grand Tour, Wout van Aert was on course to set the best time in the Pau time trial when disaster struck.
Exiting a tight and narrow bend in the closing kilometre, the 25-year-old rode too close to the barrier and caught his right leg on a protruding object causing a deep gash that tore through skin and muscle across his upper thigh and hip.
It took an age for medical assistance to arrive with fans forced to wrap the rider in awnings from the barriers to stem the bleeding and stop him from burning his body from the melting asphalt. It also beggared the question why such archaic and potentially hazardous barriers are still used in races when there must be safer alternatives available.

Martin and Rowe are booted off Tour for scuffle

With 16 Tours between them, you would have thought experienced road captains like Luke Rowe and Tony Martin would have known better.
But instead of protecting their GC leaders (Rowe's Ineos had defending champion Geraint Thomas and Colombia's Egan Bernal in the top five, while Martin's Jumbo-Visma had Steven Kruijswijk sitting in third), the two men decided to have a prolonged bout of handbags towards the end of stage 17 – a stage that, given the break was 20 minutes up the road, had already been effectively neutralised.
Playing cat-and-mouse in the saddle and trying to ride each other off the road, arms were swung, fingers pointed, and heated words exchanged – all resulting in the Welshman and the German being kicked off the Tour.
A cringeworthy piece of media management ensued with both riders appearing on a video interview to explain their actions, apologise, kiss and make up. But it wouldn't sway the race jury and both teams were deprived of a key rider ahead of the final few days – the second time in as many years that such a lapse of professionalism has cost Ineos, following Gianni Moscon's DQ in 2018.

Landslides and freak storm bring Tour to sudden halt

Three weeks of tension, excitement and sweltering temperatures came to a head when Egan Bernal put in his decisive attack on the Col d'Iseran in Stage 19, dropping both teammate Geraint Thomas and the yellow jersey Julian Alaphilippe.
With dark clouds looming, Bernal went over the top with 58 seconds on the main GC group and double that on Alaphilippe, the French maestro finally showing signs of fatigue after his pulsating reign in yellow.
Briton Simon Yates had caught the Colombian on the descent and Alaphilippe was showing signs of a revival, slashing the deficit to catch the chasing group. But then, amid much confusion, Christian Prudhomme called off the stage – leaving the riders to soft-pedal and glide while stewing in ire and amazement all the way to Val d'Isere in the valley below.
For us TV viewers back home, it was all too clear why: the heavens had opened further along the route, with snow and hail covering the road up to Tignes. And then, live on air, we saw it: a landslide pouring down the mountain and engulfing the very asphalt separating the riders from the finish.
We'll never know if Alaphilippe would have held on to yellow, if Bernal would have won the stage, or if Yates would have completed his hat-trick. As it was, the organisers had to act fast and decisively – and that's what they did, calling off the race and taking the GC times from the top of the Iseran.
When the dust settled, TV anchor Gary Imlach probably called it right in his closing comments to his channel's coverage of the race: "The Tour has its first Colombian winner and Egan Bernal has won what will probably be looked back on as the first Tour significantly affected by climate change."

Taxi for Euskadi-Murias!

In an ominous start to the Basque wildcard team's Vuelta, the speeding Euskadi-Murias team car misjudged a tight corner on the team time trial course while following the riders doing a recon, ploughing into a wall.
Thankfully, no one was hurt, and the damage was not too bad, but it was a wake-up call for the dozy driver behind the wheel. It was also a miracle that there were no spectators on the pavement at the moment of impact, otherwise drama could have been tragedy.

Burst paddling pool thwarts Jumbo-Visma in Vuelta TTT

When the racing got under way, Primoz Roglic's quest for the red jersey didn't exactly get off to the best of starts after his Jumbo-Visma team – the red-hot favourites for the opening time trial in Torrevieja – skittled over on a tight corner.
Six of the eight-man team – including Roglic and co-leader Steven Kruijswijk, who was later forced to abandon – skidded into the barriers after riding through what appeared to be a freak water hazard.
The cause of the large puddle was later revealed to be a burst paddling pool in a nearby garden – and Jumbo-Visma were not the only team to be caught up, with the UAE Team Emirates outfit of Fabio Aru also taking an unexpected dip.
The knock-on effect was significant, too. In fact, the final team down the ramp – Deceuninck-QuickStep – were on course for victory until they were held up by a badly parked Jumbo support car attending to the incident. As a result, the Belgian team were forced to take evasive action – eventually missing out on the win by just two seconds on Astana.

Burgos-BH team car almost takes out Madrazo

Another four-wheeled motor-powered incident on the Vuelta saw the Burgos-BH directeur sportif do his best to scupper the chances of their own rider on the final climb of Stage 5.
Angel Madrazo, the polka dot jersey, was riding in a three-man break with Dutch teammate Jetse Bol and compatriot Jose Herrada of Cofidis when some woeful driving saw the bespectacled Spaniard nudged into a ditch and almost off his bike.
If the incident clearly could have been far worse, things did turn out OK for both Madrazo and Burgos-BH: despite being dropped on numerous occasions, the 31-year-old McLovin' lookalike fought back to win an emotional maiden Grand Tour stage in the first summit finish of the race. Fron Superbad to super good!

Movistar throw down hammer in crosswinds after Roglic crash

When race leader Roglic and fourth-place Miguel Angel Lopez crashed 100km into the rain-affected Stage 19 to Toledo, the Movistar team of Alejandro Valverde and Nairo Quintana – currently nestled between the Slovenian and the Colombian on GC – sniffed out an opportunity.
Putting their collective pedal to the metal, Movistar attacked in a subsequent section of crosswinds to open up a big gap on the chasers – piling pressure on the red jersey and his Jumbo-Visma team.
Eventually, just 15km from the finish, the veteran world champion Valverde reluctantly agreed to take the foot off the gas – but not after almost an hour of very tense and heated racing. Adding yet more grist to the mill, both Roglic and Lopez managed to slash their deficit by some very suspect drafting behind team cars – a huge controversy in itself, but one overlooked by the race jury by virtue of the supposedly unfair attack they were responding to.

Highlights: Fury as stricken Roglic attacked by Movistar, Cavagna triumphs

Movistar later dismissed the notion that they had broken one of cycling's unwritten rules by insisting they had always planned to attack at that point and that the race was already very much on before the incident.
But Astana's Lopez wasn't impressed. "It's always the same stupid people who do this. Maybe one day they'll win a race launching a straight attack," he said. "These really stupid actions are what the world champion's team does - that's what we're dealing with. What a world champion we have!"
The Colombian later apologised to Valverde and Movistar for his outburst, claiming it was said "in the heat of the moment". He did have a point, though.

Were Movistar right to attack after Roglic crash?

Furious Eekhoff disqualified after winning U23 world title

No single rider would have experienced as big a rollercoaster of emotions all season as Nils Eekhoff on the day the Dutchman became world champion – and then had it taken away.
Having crashed with 130km remaining of the sodden race, Eekhoff was forced to pop his own dislocated shoulder back in place before closing a gap of over two minutes. After another mechanical and a long chase back to the peloton, the Dutchman then helped reel in a break before becoming part of the leading seven-man group to contest the win.

The thrilling seven-way sprint before Eekhoff's DQ

If this was worthy of a medal in itself, then Eekhoff brought his day full circle when winning the sprint for gold in Harrogate – only to be told an hour later that he had been disqualified.
Looking back at footage, the UCI jury had judged that Eekhoff had drafted behind cars for too long during his frantic fight back on following the crash, leaving the Dutchman "devastated", "mad" and in tears. It's a controversy that still rumbles on: Eekhoff is currently pursing legal action to be reinstated as winner.

Official takes out riders at Cro Race finish

When Eduard-Michael Grosu won Stage 2 of the CRO Race, an official – or was it a spectator? – was so keen to reach the Frenchman that he ran out in front of the oncoming peloton, bringing down three riders.
Italy's Marco Frapporti, Australia's Alex Edmondson and Slovenia's Matej Mohoric all hit the deck at top speed – as did their capped tormentor – with Mohoric forced to call time on his season with two broken ribs. The CRO Race, eh? More like the, ahem, D'OH Race.

Senechal punches Walscheid in Munsterland dustup

Sparks flew in the aftermath of the Sparkassen Munsterland Giro in October when Frenchman Florian Senechal threw a punch at German's Max Walscheid, who was in the process of being interviewed on live TV. Walscheid reacted with his own jab and the pair had to be pulled apart.
Senechal, the last QuickStep lead-out man for race winner Alvaro Hodeg, seemed to blame Sunweb's Walscheid for the crash which brought him down in the final 200m.
Replays show that Walscheid perhaps slowed down after launching teammate Michael Matthews, causing Senechal to clip his back wheel and then lose control, taking another rider down with him. Judge for yourselves…

Leaders go wrong way in Tre Valli Varesine

With 15km remaining of the Italian race, Primoz Roglic probably thought his chances had gone. The Slovenian was in a chasing peloton with an all-star group containing the likes of Vincenzo Nibali, Dan Martin, Alejandro Valverde, Michael Woods and Bauke Mollema around 40 seconds up the road.
But then this move missed a sharp right turn on a roundabout at 65 km/h on a descent and, well, rode out of contention. Although it took them a while to realise the error of their ways, with Nibali and chums not turning around for quite some time.
Replays showed that they appeared to have followed a race motorcycle over the roundabout, missing the turn and scuppering their chances of contesting the win.

Race bike leads riders wrong way in Tre Valli Varesine farce

"Let's just say we did an extra loop down to the lake," Nibali said, ironically, after opting to throw in the towel and head to his Bahrain-Merida team bus instead of finishing the race. In their absence, Roglic put in a strong attack and soloed to one of his most unlikely wins of an illustrious season.
Did we miss any moments of controversy? Join the discussion and have your say below…
Quintana leaves Arkea-Samsic as he vows to prove 'what an honest rider' he is
CRO Race
'Another photo!' - Laurance takes tight finish to win Stage 4 of CRO Race