Chicago, IL – Marlon Byrd drove in the winning run with a 3, in the opener of a three-game series.
David Carpenter (0-3) loaded the bases with one out in the 12th. Byrd's hit bounced off the third base line and seemed to land in foul territory before Chris Johnson touched the ball with his glove. It was ruled a fair ball on the field, which allowed Starlin Castro to score the winning run.
"We don't do anything the easy way around here," Cubs manager Mike Quade said.
Houston first baseman Carlos Lee went 3-for-5 with a pair of homers, including a game-tying two-run blast in the ninth.
Wandy Rodriguez allowed three runs on six hits over 5 2/3 innings for the Astros, who have lost two in a row.
Lee's solo homer in the second gave the Astros a 1-0 lead. It didn't stay that way for long, as Soto's blast to left in the third tied the game.
The Cubs pushed across two runs in the sixth to go in front. Aramis Ramirez hit a one-out triple to right and scored on Baker's base hit. Byrd walked to put men on first and second. Soriano hit an RBI single two batters later to make it a 3-1 game.
Houston plated two runs off Garza in the ninth to tie things up. Jordan Schafer led off with a single and moved to second on pinch-hitter J.B. Shuck's groundout. J.D. Martinez flied out for the second out. Lee kept the game alive with a two-run homer to left.
Chicago put men on the corners in the home ninth, but Castro struck out looking to send the game into extras.
The Astros stranded a runner on second in the 12th.
In the home 12th, Castro walked and Ramirez was given a free pass to put men on first and second with one out. A wild pitch moved the runners up a base. Reed Johnson was then intentionally walked to load the bases for Byrd.
Lee has 20 career multi-homer games...Xavier Cedeno made his MLB debut in the bottom of the ninth for Houston...Rodriguez had five strikeouts on Friday. He needs two more strikeouts to become the first southpaw and the ninth pitcher in club history to reach 1,000 K's...The Astros started a six-game road trip on Friday, while the Cubs got a six-game homestand underway.