Houston won for the seventh time in eight games, bouncing back after having a six-game winning streak halted by Baltimore the night before.
The Astros had six home runs in their 14-hit attack and they were able to fight off a late Baltimore charge.
The 11 runs were the second most Houston has scored this season. The Astros produced 16 runs against Seattle in the eighth game of the season.
After Houston jumped in front 4-1 in the first, Marwin Gonzalez hit a solo homer in the second. Matt Dominguez and Jose Altuve both added solo shots in the fourth and J.D. Martinez had a two-run blast later in that inning.
Houston built a 9-1 lead to make a winner out of starter Dallas Keuchel (3-2). He allowed a run on five hits over six innings.
Baltimore reduced its final deficit with three runs in both the seventh and eighth innings. Matt Wieters contributed a two-run homer in the eighth.
The loss went to Freddy Garcia (2-3), who lasted just three innings while giving up six runs on seven hits.
Putin thinks Obama would save him if he were drowning
Rosie O'Donnell unveils nearly 50-pound weight loss