It's the Manxman's first win since taking a stage of the Abu Dhabi Tour in February 2017 after last season was severely hampered by glandular fever and a crash on stage four of the Tour de France that saw him forced out of the race with a fractured shoulder.
A visibly disappointed Nacer Bouhanni (Cofidis) came home in second place with Marcel Kittel (Katusha-Alpecin) placing third. British rider Adam Blythe (Aqua Blue Sport) finished fourth.
Stage two winner Elia Viviani (Quick-Step Floors) inherited the overall race lead after former leader Dylan Groenewegen (LottoNL-Jumbo) was handed a 20-second time penalty by the race jury for reportedly drafting a team car. Cavendish moved up to third overall at six seconds.
How it happened
The wind blew up in the desert around Dubai, causing problems for some riders for the first time in the 2018 race. The result was an amount of fluidity between various groups out on the road in the mid-section of the stage, as small groups were dropped and then subsequently re-joined the lead peloton.
The day started with a four-rider escape group comprising British rider Mark Christian (Aqua Blue Sport), Italian Simone Bevilacqua (Wilier Triestina), Belgian Loïc Vliegen (BMC Racing) and Frenchman Quentin Valognes (Novo Nordisk).
Although the break had things their own way for the first 100km or so, the crosswind-generated mayhem behind meant that they were caught with over 60km still to race.
Several riders found themselves on the wrong side of splits. Groenewegen and Cavendish found themselves with work to do after suffering mechanicals. Both chased back on successfully with assistance from team mates – and in the case of Groenewegen, his team car.
A the race hit 50km to go, the wind eased and everything calmed down and the pace of the peloton eased up. All the while, Quick-Step Floors were setting the pace-making with members of LottoNL-Jumbo, Dimension Data and Katusha-Alpecin in attendance for their respective sprinters.
Swiss rider Tom Bohli (BMC Racing) broke the truce with an attack at 29km-to-go, and quickly opened up a gap. With so many flat kilometres and clear sight of Bohli up the wide roads, there was no panic in the bunch and he was caught inside 15km to go.
The catch signalled a quickening of the pace and a changing of the guard at the front, with Katusha-Alpecin massing at the front. Other teams also wanted to take pole position in the final 5km, with Cofidis, Trek-Segafredo, LottoNL-Jumbo, Dimension Data and Quick-Step Floors also spread across the road all trying to assemble their sprint trains.
A large roundabout with 3km to go spoiled the flow for some teams, with Bahrain-Merida cannily edging up to the front for their sprinter Sonny Colbrelli.
As had happened in the previous two stages, the organisation of many of the teams largely dissolved into the frantic final kilometre, setting up a free-for-all.
Cavendish placed himself perfectly behind several of his rivals, moving from wheel to wheel, and then came around them all with a blistering acceleration to take a clear victory.
The Dubai Tour continues on Friday with stage four, a key stage including a final climb to Hatta Dam. The equivalent stage was cancelled in 2017 due to very high winds. The race concludes on Saturday with stage five, which should once again favour a sprint finish and settle the overall winner of the race.
Dubai Tour 2018, stage three: Skydive Dubai to Fujairah, 183km
1. Mark Cavendish (GBr) Dimension Data, in 3-53-46
2. Nacer Bouhanni (Fra) Cofidis
3. Marcel Kittel (Ger) Katusha-Alpecin
4. Adam Blythe (GBr) Aqua Blue Sport
5. Sonny Colbrelli (Ita) Bahrain-Merida
6. Elia Viviani (Ita) Quick-Step Floors
7. Alexander Kristoff (Nor) UAE Team Emirates
8. Magnus Cort Nielsen (Den) Astana
9. Riccardo Minali (Ita) Astana
10. Dylan Groenewegen (Ned) LottoNL-Jumbo, all same time
General classification after stage three
1. Elia Viviani (Ita) Quick-Step Floors, in 12-19-38
2. Mark Cavendish (GBr) Dimension Data, at 4 secs
3. Nathan Van Hooydonck (Bel) BMC Racing, at 7 secs
4. Magnus Cort Nielsen (Den) Astana, at 8 secs
5. Nacer Bouhanni (Fra) Cofidis, at 8 secs
6. Loïc Vliegen (Bel) BMC Racing, at 8 secs
7. Marcel Kittel (Ger) Katusha-Alpecin, at 10 secs
8. Riccardo Minali (Ita) Astana, at 10 secs
9. Alexander Kristoff (Nor) UAE Team Emirates, at 14 secs
10. Sonny Colbrelli (Ita) Bahrain-Merida, at 14 secs
Thank you for reading 20 articles this month* Join now for unlimited access
Enjoy your first month for just £1 / $1 / €1
*Read 5 free articles per month without a subscription
Join now for unlimited access
Try first month for just £1 / $1 / €1