The victory moved Rodriguez ahead of Chris Froome atop the UCI WorldTour rankings.
Froome, the Tour de France champion, withdrew from the race Saturday due to back pain.
With only the Oct. 11-15 Tour of Beijing remaining, Rodriguez leads Froome by 20 points. Wins in the Lombardia and Beijing races are worth 100 points each.
In another rainy race, albeit not as wet as last week's, French rider Thomas Voeckler attacked with 60 kilometers (37 miles) to go but was caught on the last of five climbs, setting up Rodriguez's attack.
Daniel Martin, an Irish rider with Garmin-Sharp, finished fourth despite a mechanical problem within sight of the finish, and Enrico Gasparotti, an Italian with Astana, was fifth.
Several pre-race favorites struggled.
Giro d'Italia champion Vincenzo Nibali withdrew following a fall with 93 kilometers (58 miles) to go. Fellow Italian Michele Scarponi also had to stop midway through with a stomach problem, while Rui Costa and Alberto Contador were dropped on the short but steep Muro di Sormano climb with more than 80 kilometers (50 miles) to go.