The weather at this year’s Milan-San Remo was never going to be as bad as last year, but it wasn’t far off. Heavy rain and, at times, hail buffeted the riders for virtually all of the 300km making descents treacherous and ensuring that a smaller percentage of riders finished the race than last year.

And it wasn’t just the rain. Single-digit temperatures had riders swinging their arms and bashing hands on handlebars to coax circulation back to their extremities. Luca Paolini (Katusha) was even spotted pouring hot tea on his gloves in an attempt to defrost his frozen digits.

A series of attacks early in the race resulted in the day’s main escape forming after roughly 15km of racing with Matteo Bono (Lampre Merida), Nathan Haas (Garmin-Sharp), Nicola Boem (Bardiani), Antonio Parrinello (Androni Giocattoli), Maarten Tjallingii (Belkin), Jan Barta (Netapp-Endura) and Marc de Maar (UnitedHealthCare) setting about building an early advantage.

Some 50km into the race they had more than 10 minutes on the peloton but soon after the gap started coming down, slowly at first, but in more rapid fashion as the riders left the Passo del Turchino behind and made their way out to and along the Mediterranean Coast.

With the escapees’ advantage being reduced by a peloton controlled by Cannondale (for Peter Sagan), Giant-Shimano (for John Degenkolb) and Trek (for Fabian Cancellara), so too the number of riders in the break started to drop. Boem lost contact with the breakaway companions, Haas got a puncture and Parrinello was dropped. And in the main field Mark Renshaw and Michal Kwiatkowski withdrew from the race, arguably reducing Mark Cavendish’s chances of repeating is 2009 victory.

With a little more than 40km remaining in the race — but with all the serious climbs still to come — the then four-rider break was less than five minutes ahead. And on the Capo Berta, Cannondale and Katusha drove hard, thinning out the lead group considerably and further eroding the leaders’ advantage. On that same climb Jan Barta cracked, leaving just three riders in the escape group as the day’s penultimate challenge, the Cipressa loomed.

On the run in to that climb Katusha continued to drive the pace while Peter Sagan, largely inconspicuous thus far, made his way to the front of the main field, led by four Cannondale teammates. The Cipressa began with 29km remaining in the race, and the leaders’ advantage, doomed by this point, was little more than two minutes.

Bono was dropped from the breakaway as soon as the road went up, leaving just Marc de Maar and Maarten Tjallingii at the front of the race. Back in the main field Cannondale was starting to flex its collective muscle as Alessandro De Marchi lead the bunch up the 5.6km climb with Peter Sagan in second wheel.

Di Marchi’s high tempo put many riders in difficulty and the lead group was gradually thinned down. And then Vincenzo Nibali (Astana) attacked, seemingly keen to prove wrong those who said this year’s course didn’t suit him.

He quickly caught Bono and when he reached the summit of the Cipressa, with less than a minute over the Di Marchi-led peloton, Nibali was just 13 seconds behind Tjallingii and de Maar. And then, in a masterful display of wet-weather descending, Nibali barrelled past the pair on the descent and pressed on alone.

The Italian’s chances of victory seemed remote, particularly given the 9.1km of flat road between the base of the Cipressa and the race’s final climb, the Poggio. But the winner of last year’s Giro d’Italia continued on, desperate to hold off a chasing peloton which had been spurred into action by an audacious but ultimately short-lived attack by Andre Greipel (Lotto-Belisol) at the end of the Cipressa descent.

When Nibali hit the start of the Poggio, with 9.7km left to race, his advantage was just 14 seconds and his day looked to be all but done. Gregory Rast (Trek) launched the first move and was joined by Enrico Battaglin (Bardiani), the pair passing Nibali while Lotto-Belisol did the chasing for Greipel. With 6.8km to go the lead group was back together, courtesy of a Philippe Gilbert (BMC) attack that was quickly marked.

As the leaders crested the Poggio and began the wet and treacherous descent towards the finish, Andre Greipel found himself slightly off the back. He would soon catch back on and things were poised for a bunch sprint.

Mark Cavendish (Omega Pharma-QuickStep) was there, last year’s winner Gerald Ciolek (MTN-Qhubeka) was too, as were Peter Sagan, Fabian Cancellara and Sacha Modolo (Lampre-Merida). One of the other pre-race favourites John Degenkolb (Giant-Shimano) was nowhere to be seen, having punctured at the base of the Poggio.

But at the head of affairs in the final 1.3km was Luca Paolini (Katusha), driving hard for his Norwegian teammate Alexander Kristoff. Philippe Gilbert took to the front inside the final kilometre and as Greipel dropped off the back and out of contention, Modolo and Cavendish wound up the long sprint on tired legs.

Cavendish pulled clear but he’d gone too early, and Kristoff powered up the left-hand side of the road to take a convincing win, his aero helmet slightly off-kilter as he crossed the line more than a bike length clear of a visibly irate Fabian Cancellara, and Ben Swift (Sky) who took an impressive third place.

While “the sprinters’ classic” lived up to its moniker in 2014, it’s unlikely to do so again in the forseeable future. The Pompieana climb, removed at the last minute this year due to safety concerns, will likely be introduced next year, making the end of the race even harder for the fastmen.

Future edition’s aside, Kristoff’s win in 2014 makes him the first Norwegian to win Milan-San Remo and in a career that was previously higlighted by a bronze medal at the London Olympics road race, this is certainly his biggest victory.

Click here to see the full results from the race.