Van Garderen, who finished fifth in last month's Tour de France, captured his first win of the season after completing the 159.3-kilometre ride from Montrose to Mt. Crested Butte in three hours, 52 minutes and 24 seconds.
"I wasn't confident I was going to win, but I was confident I was going to try," said Van Garderen, who made his final surge to the ski resort finish suddenly as the early leaders faltered.
Fellow American Christian Vande Velde finished second in the stage in the same time as Van Garderen while Russia's Ivan Rovny was third, trailing by six seconds.
Van Garderen, who began the day 17th overall, moved into the race lead with the same overall time as Vande Velde but is the race leader based on his stage win.
Rovny moved into third overall while defending champion Levi Leipheimer of the United States is fourth overall after placing fourth in the stage and trails by eight seconds.
Wednesday's third stage of the seven-day race is a 210.1-kilometre ride from Gunnison to Aspen, Colorado, that features two climbs approaching 4,000 meters, the highest elevation in the second-year race.