Lee's shot to left field off Brian Fuentes (0-3) came on the first pitch. Biggio singled in the 11th, tying a career high with his fifth hit. Hunter Pence followed with a double before Lance Berkman was hit by a pitch to load the bases.
Troy Tulowitzki's bases-empty shot off Brian Moehler (1-2) to lead off the 11th made it 5-4. The loss extends Colorado's season-high losing streak to seven games.
It was the third time in seven days Fuentes has allowed a game-winning hit after Tulowitzki homered in the top of the inning to give the team a late lead.
Biggio became the 27th player to reach 3,000 hits with a single to center field in the seventh inning. The Astros second baseman was thrown out trying to stretch the play into a double on his third hit of the night, which tied the game at 1.
He added his fourth hit on a single to right in the ninth for hit No. 3001 and his first four-hit game of the season.
Biggio is the first player to reach 3,000 hits since Rafael Palmeiro on July 15, 2005, with the Orioles.
The 41-year-old, who entered the season needing 70 hits to reach the milestone, has played his entire 20-year career with the Astros, making him the longest-tenured player in franchise history.
Dan Wheeler pitched a perfect 10th for Houston, striking out all three batters.
Mark Loretta singled with one out in the 10th, but former Oriole Jorge Julio retired the next two batters to send it to the 11th.
The game was tied at 1 in the eighth when Ryan Spilborghs followed a double by Garrett Atkins with a home run to right center field to make it 3-1. A single by Chris Iannetta later in the inning scored Tulowitzki.
Houston tied it again when Berkman and Mike Lamb homered in the eighth. Berkman's was a bases-empty shot to left and Lamb's a two-run homer to right-center.