Logan Morrison dropped a fly ball with two outs in the ninth, allowing Justin Maxwell to cap the four-run frame with the go- ahead run in Houston's 5-4 triumph over the Miami Marlins.
Carlos Lee finished 3-for-5 with two runs batted in, including the game-tying RBI single in the ninth.
With Miami on top 4-1, Heath Bell (0-1) entered looking for his first save as a Marlin. Bell allowed a one-out double to Jose Altuve, who quickly scored on a single from pinch-hitter Travis Buck.
After Jordan Schafer reached on catcher's interference, Bell induced a fly out from Jed Lowrie before surrendering consecutive RBI singles to J.D. Martinez and Lee to tie the game.
Randy Choate entered for Bell and seemed to have the threat quelled as Brian Bogusevic lifted a routine fly ball to left. Morrison bent his knees, but was unable to corral the fly ball as it popped out of his glove. That allowed pinch-runner Maxwell to score.
Brett Myers punched out two in a perfect bottom of the ninth to get his second save of the year.
The Astros saw starter Bud Norris allow four runs on six hits and a walk over six frames. Rhiner Cruz (1-0) pitched two scoreless innings of one-hit ball in relief to record his first major league win and snap Houston's three- game skid.
Hanley Ramirez had three hits, Morrison knocked in two runs and Emilio Bonifacio scored twice for Miami. Carlos Zambrano went six innings in the start, yielding just one run on four hits while walking six as the Marlins fell for the third time in four games.