The 26-year-old became the first Colombian to win the Italian Classic, and took his first career Monument victory, beating Italian Diego Rosa (Astana) and compatriot Rigoberto Uran (Cannondale-Drapac) in a sprint finish to the line.
The three entered the final kilometre after getting away from the main peloton on the penultimate climb of the day, the Selvino as Chaves attacked. Romain Bardet (Ag2r La Mondiale) also made it into the front group.
Diego Rosa had initially missed the move, but was able to bridge across to the Chaves group from the chasing pack of around 12 riders, with no-one able to follow.
The gap to the front four quickly drifted to around 44 seconds, with Movistar made to work hardest to pull things back with Givanni Visconti and Alejandro Valverde. But with no concerted effort, the front group gradually looked set to contest the win as they stretched the gap to over a minute on the flat section between the Selvino and the final climb into Bergamo.
After almost 236km of racing the leaders made it on to the short, steep ramps of the final climb with Chaves the most active in trying to lose his rivals. Bardet initially looked able to match the pace as Rosa struggled, but eventually went pop on the final 12% section and the other three got away from him over the summit with 3km to go.
Despite a hard chase on the descent, the Frenchman was unable to regain the ground he lost, and Rosa was the first to attack from the leaders. Uran was not letting anything go though and did much of the work to keep things together as Chaves just sat in the wheels.
That meant they arrived to the final straight together for a sprint, which looked likely to suit Uran more than rosa or Chaves.
The Astana rider went early though and Uran made a huge effort to get back to his wheel. Chaves then launched his sprint within the last 100 metres, coming out of the wheel of Uran and catching Rosa just before the line to beat him by a wheel.
Nearly 200 riders began the 241km route from Como, but only four, Rudy Molard (Cofidis) and Damiano Caruso (BMC), Stefan Denifl (IAM Cycling) and Mikale Cherel (Ag2r La Mondiale) formed the day's main break.
They got away fairly early on in the day and established a gap of around four minutes before the severity of the day began to take it's toll.
The constant climbs and length of the day meant it was looking extremely difficult for the break to maintain its position out front, and eventually only Molard and Caruso were left out front as the ascended the day's toughest climb, the Valico di Valcava.
That also saw much of the main peloton dropped, with the bunch almost halved heading to wards the final 70km or so of the race.
Caruso went solo ahead of Molard as the gap began to slip and he held out until around 40km to go, when Robert Gesink attacked to split the peloton.
That key move by Gesink saw a 16 man group form of the likely favourites for the race, and was the platform that lead to Chaves making the decisive move to form the final break and take victory at Il Lombardia.
Il Lombardia 2016 (241km)
1. Esteban Chaves (Col) Orica-BikeExchange, in 6-26-36
2. Diego Rosa (Ita) Astana, st
3. Rigoberto Uran (Col) Cannondale-Drapac, st
4. Romain Bardet (Fra) Ag2r La Mondiale, at 6s
5. Davide Villella (Ita) Cannondale-Drapac, at 1-19
6. Alejandro Valverde (Esp) Movistar, at 1-24
7. Robert Gesink (Ned) LottoNL-Jumbo
8. Warren Barguil (Fra) Giant-Alpecin
9. Alessandro De Marchi (Ita) BMC
10. Pierre Latour (Fra) Ag2r La Mondiale, all same time
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