J.D. Martinez hit the go-ahead RBI single in the sixth inning and Jose Altuve had a solo homer to give the Houston Astros a 2-1 win over the Chicago Cubs on Tuesday night.
The loss extends Chicago's losing skid to a season-long eight games.
The hit by Martinez was the first for Houston since the first inning, but Justin Maxwell and Carlos Lee both drew two-out walks before it to set up the score.
Houston starter J.A. Happ (4-3) allowed five hits and a run in six innings for the win. Closer Brett Myers pitched a perfect ninth for his 11th save.
Alfonso Soriano led off the fourth inning with a solo shot to left-center field that tied it at 1-1. The home run marked the first time in four games that Chicago had scored before the ninth inning.
Altuve hit a leadoff home run to put Houston up early. It was his second career leadoff homer after his first career home run was an inside-the-park home run on August 20.
Jed Lowrie followed with a ground-rule double before Cubs starter Travis Wood (0-1) settled down and retired the next eight batters. Lowrie walked with two outs in the third inning before Wood sat down the next nine Astros.
He got some help from his defense on the second out in the sixth inning when Soriano robbed Lowrie of a hit with a nifty catch in left field. After the catch Soriano took the ball out of his glove and planted a kiss on it before throwing it back in.
Maxwell's walk after Soriano's catch chased Wood. He was replaced by Shawn Camp, who walked Lee before allowing Martinez's single to shallow right field.
Wood allowed two hits and two runs with three strikeouts in 5 2-3 innings in his second major league start of the season. He was recalled from Triple-A Iowa before Tuesday's game.
Houston third baseman Chris Johnson was ejected after slamming his helmet on the ground and arguing a call at first base in the fourth inning.
With the game tied at 1-1, Johnson hit a ground ball to shortstop Starlin Castro, who made a diving stop and whose throw to first appeared to barely beat Johnson. Johnson was called out to end the inning and immediately ripped off his helmet and slammed in to the ground while yelling at first base umpire Tim Tschida.
He was quickly thrown out of the game and was replaced Matt Downs for the fifth inning.
Reliever Wesley Wright pitched 1 1-3 hitless innings for Houston after Happ left before he was replaced by Wilton Lopez.
Lopez got into a jam in the eighth after allowing a single to Reed Johnson with one out. Johnson was replaced by pinch-runner Tony Campana, who went from first to third on an error by Lopez on a pickoff attempt.
The throw to third base arrived in time, but Downs had to leave the bag and go low to catch it, allowing Campana to dive over him Superman-style and crawl back to the base safely.
Lopez ended the threat by striking out Castro and Soriano.