Wesley Wright (2-2) started the 11th for Houston and walked the bases full.
Alberto Arias came on to face Uggla who drove in Chris Coghlan to end the game.
Brian Sanches (3-1) worked the top of the 11th to earn the win.
Uggla and Hanley Ramirez each had three hits and two RBI and John Baker drove in three runs with a pair of hits.
The Astros trailed by a run entering the ninth, but Leo Nunez gave up a one-out double to Miguel Tejada, who moved to third on a Carlos Lee base hit and scored on Geoff Blum's single.
Tejada ended with three hits and three RBI for Houston which lost for the ninth time in its last 13 games.
Copyright 2009 by United Press International.