CHICAGO -- Three Cubs slammed solo home runs on Friday as Chicago opened a weekend interleague series with a 3-1 victory over the Houston Astros.
Anthony Rizzo, Darwin Barney and Scott Hairston each collected solo shots in a game that began following a 3-hour 18-minute rain delay.
Cubs right-hander Matt Garza (2-1) missed a chance for a complete game when he was pulled after walking leadoff batter Jose Altuve in the ninth. Garza's eight innings were still a season high as he allowed one earned run, four hits, walked a pair and struck out eight.
Right-handed reliever Kevin Gregg finished up the ninth without another base runner for his 11th save.
Astros lefty Dallas Keuchel (4-4) worked six innings with three earned runs, nine hits and nine strikeouts while walking just one. Four relievers worked the final two innings.
The victory snapped a two-game Cubs losing streak.
Rizzo led off the fourth with a towering home run that sailed past the right-field foul pole and landed on Sheffield Ave. The homer, Rizzo's 11th of the season, came on Keuchel's first pitch with none on base.
Barney made it 2-0 in the fifth when he added another solo shot -- his fourth homer of the season -- to left field to start the inning.
Hairston collected his sixth homer in the sixth inning. His one-out home run to left with nobody on base gave Chicago a 3-0 lead.
The Astros got one run back in the sixth when Chris Carter homered to left off Garza with none on for his 15th of the season.
Starlin Castro doubled off reliever Paul Clemons with one out in the eighth and reached third on Dioner Navarro's grounder to second. Clemons departed after walking Hairston, leaving runners on first and third.
The threat ended as Castro was tagged at the plate in a sequence that began after Hairston tried to steal second.
Both teams had opportunities in earlier innings but failed to score.
Carter led off the Houston second with a double but never advanced.
The Cubs had runners at first and second with two out in the third. Barney reached with a double down the third-base line and Cody Ransom walked, but Alfonso Soriano grounded to short to end the threat.
Stormy weather rumbled through the Chicago area late Friday morning and hit Wrigley Field in the early afternoon, delaying the first pitch until 4:38 p.m. CST. By late in the game, weak sunshine peaked out from the west.
Houston sends right hander Bud Norris (5-7, 3.64 ERA) against Chicago's Travis Wood (5-6, 2.75 ERA) in Saturday's middle game of the three-game weekend series.
NOTES: The Astros' trip to Wrigley Field is their first as a member of the American League. The former National League Central Division rivals played their final NL games on Oct. 1-3, 2012, with Houston taking two of three. ... Entering Friday, Astros starters had posted a 2.96 ERA in 34 games since May 15, tops in the American League in that span. ... Carlos Pena's walk-off homer in Thursday's 7-4 win over Milwaukee was the sixth of his career and first since Aug. 6, 2008 against Cleveland while with Tampa Bay. ... Norris made his major-league debut against the Cubs on July 29, 2009 and tossed three innings of relief. ... The Cubs announced Friday they traded minor league outfielder Brent Lillibridge to the Yankees for cash or a player to be named later. ... As the Cubs close in on the season's halfway point they are five wins better than 2012. Entering Friday they were 29-42 through 71 games compared to 24-47 in 2012. ... The Cubs' Triple-A Iowa team moved into sole possession of first place in the Pacific Coast League's American Northern Division with Thursday's 6-4 victory over Nashville. Steve Clevenger (.340) went 0-for-4 with a walk and run scored in the 14th game of his rehabilitation assignment. ... Barney has now played 58 errorless games through Friday and had a 61-game streak dating to Sept. 30, 2012. Last year he tied a National League record with 141 consecutive error-free games at second.