The 108th edition of Milan-San Remo may no have been a classic, but it produced a scintillating final few kilometres and one of the closest finishes in years.

After a few unsuccessful attacks on the Cipressa, the action really got going on the Poggio when Peter Sagan (Bora-Hansgrohe) launched an unexpected attack.

>>> Brilliant Michal Kwiatkowski edges out Peter Sagan to win Milan-San Remo 2017

The world champion immediately opened a gap, with only Michal Kwiatkowski (Team Sky) and Julian Alaphilippe (Quick-Step Floors) able to follow.

The trio extended their advantage on the descent off the climb, with Sagan – on paper the best sprinter in the group – forced to lead out the sprint in the final kilometre.

>>> This is how close Peter Sagan was to beating Michal Kwiatkowski at Milan-San Remo

For a moment it looked as if Sagan would have enough to hold off his rivals, but in the end it was Kwiatkowski who was able to come around the outside to take victory in one of the closest editions on Milan-San Remo in a number of years.