An unmarked Keane headed home in the 20th minute for his 13th goal of the season. In the 55th minute, Gonzalez headed in Donovan's free kick to reduce the deficit to 3-2 and Gordon scored the equalizer from close range in the 68th minute.
Colorado rookie Marlon Hairston had opened the scoring with his first MLS goal in the 14th minute. Three minutes later, Edson Buddle became the eighth player to score 100 MLS goals. Colorado's third goal came from Marc Burch's free kick that ricocheted off goalkeeper Jaime Penedo in the 30th minute.
In the day's other game, Seattle was held to a 1-1 home draw by San Jose, and the point moved the Sounders into top spot in the Western Conference, ahead of Real Salt Lake on goal difference.
Chris Wondolowski tapped in a point-blank shot in the 65th minute for San Jose, which was coming off a 5-0 home defeat by Dallas.
Chad Barrett had given Seattle the lead just 36 seconds into the second half. He caught up with a long through ball from Obafemi Martins, got behind three defenders, and drilled a shot from the top of the penalty area into the far corner of the net.
Seattle, Real Salt Lake and Eastern Conference leader Sporting Kansas City are all on 42 points.