HOUSTON -- Travis Wood has bounced back from eight straight losses to win his last two. Now he wants to keep that going the rest of the season.
Alfonso Soriano finished a triple shy of the cycle and drove in two runs and Travis Wood allowed one run in 7 2/3 innings to lead the
Dave Sappelt also had three hits for the Cubs, who have won five of the last six games.
|More on Cubs-Astros|
|More MLB coverage|
"The ball is coming out good," Wood said. "I have been able to locate pitches. I just want to finish the season strong and show that I can handle a full season."
Wood (6-11) gave up four hits and struck out six. Wood has allowed only one run in his last two starts, spanning 13 2/3 innings.
Wood, who didn't allow a base runner until Justin Maxwell's single to lead off the fifth, said his backdoor cutter was working against the Astros and he was able to keep Houston off balance.
Manager Dale Sveum said Wood, who was acquired in the offseason by Chicago, pitched "a heck of a game."
"When we got him, we knew he had some arm strength and arm speed and could do some things," Sveum said. "Obviously, a lot of that one way pitching was getting him in trouble. Now, he has learned to pitch to his arm side."
Fernando Abad (0-4) gave up a run on four hits in 3 1/3 innings with two strikeouts and three walks.
In his four starts this season, Abad has not lasted longer than 4 1/3 innings. Houston manager Tony DeFrancesco said he had seen enough of Abad.
"We're trying to win a ballgame, and we want to win as many as we can," DeFrancesco said. "If Abad was throwing strikes early, he might have had a chance of getting out of it, but at that point, I felt it was time to move on."
In a scary moment, Houston reliever Mickey Storey left the game with a contusion to his right hand and the right side of his jaw after being hit in the side of face by a Sappelt line drive in the top of the eighth inning. Sappelt's liner appeared to have glanced off Storey's right shoulder before hitting him in his jaw.
Storey fell to a knee and grabbed his jaw area as Astros personnel rushed to check on him. He was down for several minutes before walking into the Astros dugout with the help of Houston trainers.
"The best thing I can take from this is that it didn't hit somewhere worse," Storey said. "Initially, it was shock and hurt, but I think I'll be all right. Hopefully, I'll be back out there soon."
Sappelt, who played against Storey in Triple A, said he felt bad and hoped Storey was all right.
"When I hit it, I didn't think he would be able to get out of the way," Seppelt said. "As soon as he let the ball go, it was coming right at him. I didn't know whether to run to him at the mound or to first. I was in one of those `I don't know what to do' moments."
Welington Castro gave the Cubs a 1-0 lead in the first with a two-out single.
Soriano hit his 29th home run of the year off Chuckie Fick in the fifth and extended the lead to 3-0 in the seventh with an RBI single off Fernando Rodriguez down the left field line.
Anthony Recker upped Chicago's lead to 4-0 in the eighth with a double to the right field gap off Jose Valdez.
Houston cut the lead to 4-1 in the eighth on a run-scoring single by Fernando Martinez off Shawn Camp, scoring Brandon Barnes, who had chased Wood with a two-out double. Jose Altuve then reached on a single and Jed Lowrie walked to load the bases, but Camp struck out J.D. Martinez to end the threat.
Chicago made it 5-1 in the ninth as pinch runner Tony Campana stole third and scored on Chris Snyder's high throw.
Chicago IF Anthony Rizzo is expected back Friday, Sveum said before Wednesday's game. "He just had a little soreness on his upper right side, but he took some swings in the cage today and he's fine," Sveum said. Rizzo collided with Astros 1B Brett Wallace during Tuesday's game. ... Actor/comedian Cheech Marin threw out the first pitch before Wednesday's game. ... Houston starts a four-game series against Philadelphia Thursday with Lucas Harrell taking the mound against Tyler Cloyd for the Phillies. ... Chicago is off Thursday before opening a four-game series against Pittsburgh at home with Chris Rusin starting against the Pirates' James McDonald.