The Athletics won for the sixth time in seven games, overcoming a five-run Houston fifth that seemed likely to be enough to bring the Astros a rare win.
Houston lost for the 34th time in 48 games this season.
The Astros then put two runners on with one out in the bottom half of the inning, but Grant Belfour retired the next two batters for his 10th save.
The win went to Pat Neshek (1-0), who worked the eighth inning.
Matt Dominguez hit a solo shot in Houston's five-run inning and J.D. Martinez added a three-run blast.