Dave Sappelt went 2-for-5 with 3 RBIs for Chicago. He started the scoring with an RBI double in the second inning, then scored on a wild pitch in the sixth to break a 1-1 tie. His two-run double in the seventh put his team up by three runs and that's how the game would end.
The Astros' lone run came in the fourth. Justin Maxwell led off the inning with a triple, then scored on a Jason Castro single.
Houston starter Dallas Keuchel pitched four innings, giving up one run and six hits. He struck out one and walked two. Reliever Fernando Rodriguez (1-10) took the loss in his 2/3 innings.
Chicago's Chris Volstad (3-10) pitched five innings, giving up one run and four hits. He had four strikeouts and five walks in the win. Carlos Marmol earned his 19th save of the season.
The Cubs have won six of their last seven games against Houston. The Astros had won five straight home games against Chicago coming into the game, but that streak is over.
The game lasted three hours and 50 minutes. Game 2 of this battle of the basement dwellers is scheduled for 7:05 p.m. CT on Tuesday.