Matt Garza pitched nine strong innings and Marlon Byrd hit an infield single in the 12th inning to lift the Chicago Cubs to a 4-3 victory over the Houston Astros on Friday.
Starlin Castro set up the winning rally with a leadoff walk, went to second on Darwin Barney's sacrifice, and moved to third on a wild pitch. He scored when third baseman Chris Johnson couldn't handle Byrd's dribbler up the line.
Garza was one strike from finishing off a five-hitter when Carlos Lee hit his second home run of the game, a two-run shot into the left-field bleachers that tied it 3-all.
Garza struck out four and threw a season-high 124 pitches, allowing seven hits and no walks. Jeff Samardzija (7-4) threw a scoreless 12th to pick up the win and send the Astros to their 99th loss. Houston has never lost 100 games in a season in the franchise's 50-year history.
Geovany Soto led off the third with his 15th homer, and Aramis Ramirez had three hits, including his first triple of the season.
Lee had three hits and three RBIs for Houston.
Astros starter Wandy Rodriguez allowed three runs and six hits over 5 2-3 innings, striking out five and walking four. Reliever David Carpenter (0-3) gave up the winning run.
The Astros swung early and often against Garza, who faced the minimum in five different innings and no more than four until the ninth. After allowing J.D. Martinez's leadoff single in the fourth, Garza retired the next 13 Astros in order.
Lee opened the scoring against his former club with a solo blast leading off the second. Lee has hit in 22 of his last 24 games, and has 23 career homers at Wrigley Field, third among active players.
The Cubs tied it up when Soto hit the first pitch in the bottom of the third into the left-field bleachers. He has three homers in his career against Rodriguez and is hitting .429 in 21 career at-bats against the Houston lefty.
With one out in the sixth, Ramirez plugged the gap in right-center field with a drive that rolled to the wall after just eluding outfielders Jordan Schafer and Brian Bogusevic. Ramirez chugged into third with his first triple since July 9, 2010.
He scored the go-ahead run on Jeff Baker's line single to left. With two outs, Baker scored on Alfonso Soriano's single up the middle. That chased Rodriguez, who departed after 107 pitches. His five strikeouts left him two shy of becoming the first Astros lefty to record 1,000 in a career.
Ramirez has had three or more hits in 15 games this season, fourth most in the National League.
In the bottom of the ninth, Tony Campana singled with one out, stole second and reached third on Soto's groundout. After Blake DeWitt walked, Castro struck out looking to send the game into extra innings.
That was bad news for a weary Cubs squad that lost an 11-inning, four-hour game in Cincinnati on Thursday night.