2012 was a roller coaster year for cycling, packed with some great racing moments but also some damning revelations and confirmations about the past.
Cyclingnews looks back at the best racing moments over the year's racing with this giant photo gallery.
The 2012 season started under the blue skies of the Tour Down Under in Australia and then returned to Europe with Tom Boonen dominating the cobbles and Joaquim Rodriguez conquering the Ardennes with victory at Fleche-Wallonne.
Ryder Hesjedal become the first Canadian to win the Giro d'Italia after a close battle with Rodriguez in the mountains, while Bradley Wiggins became the first British winner at the Tour de France after a tour de force by Team Sky. Teammate Chris Froome was Wiggins' biggest threat and finished second overall after Team Sky also won six stages, with world champion Mark Cavendish winning three of them before confirming his move to Omega Pharma-QuickStep for 2013.
The London Olympics came just a week after the Tour de France but Wiggins held his form to win gold in the time trial and became a national hero at home. Cavendish and Great Britain were unable to complete a double in the road race however, with Alexandre Vinokourov spoiling the party with a late attack to beat Rigoberto Uran in the sprint on the Mall.
Philippe Gilbert had a disappointing early season but bounced back and silenced his growing critics by winning the world title in Valkenburg. Nobody could match his attack on the Cauberg climb and he will deservedly wear the rainbow jersey in 2013.
Marianne Vos was crowned the queen of women's cycling after her Olympic and world championship double, while the UCI finally took concrete steps to help develop women's racing by introducing equal prize money for men and women in major races.
Enjoy your first month for just £1 / $1 / €1
*Read 5 free articles per month without a subscription
Try your first month for just £1 / $1 / €1
Thank you for signing up to Cycling News. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.