Dickie Thon won the game in Houston with a double to deep left center field that scored Terry Puhl from first base with none out in the ninth inning.
It was Houston's fourth straight victory over Atlanta this month and dropped the Braves three games behind Los Angeles in the NL West.
Puhl singled with one out off reliever Gene Garber (7-9) to start the rally. Winner Dave Smith (4-4) pitched one-hit relief the final three innings.
The Astros scored three runs in the sixth inning to tie the score at 3-3. Thon walked to start the inning and took third on a single by Ray Knight. Phil Garner singled to drive in Thon and chase Braves' starter Tommy Boggs. Alan Ashby's sacrifice fly off reliever Steve Bedrosian scored Knight and a throwing error by third baseman Jerry Royster allowed Garner to score the tying run.
Nolan Ryan's wild pitch as he tried to walk Chris Chambliss in the first inning allowed Jerry Royster to score the Braves' first run and Rafael Ramirez' one-out homer in the fifth gave Atlanta a 2-0 lead. Later in the inning Dale Murphy walked, stole second and scored on Chambliss' double.