Giants 6, Astros 4: Hunter Pence capped a four-run first inning with a three-run homer as National League West-leading San Francisco posted its season-high fifth straight road victory.
Two batters after Pablo Sandoval opened the scoring with an RBI single, Pence drilled a 2-1 offering from Dallas Keuchel to left-center field for a 4-0 lead. It was the 19th blast of the season for Pence and second in 27 games since being acquired from Philadelphia.
Joaquin Arias added a two-run triple in the sixth for the Giants, who maintained their 3 1/2-game division lead over the Los Angeles Dodgers.
George Kontos (1-0) tossed 2 2/3 perfect innings to notch his first major-league win in relief of Barry Zito, who couldn't make it through three frames. San Francisco employed four more relievers before Javier Lopez induced pinch hitter Jason Castro to ground into a game-ending double play to pick up his fifth save.
Keuchel (1-7) surrendered five runs - four earned - on four hits and two walks in five innings en route to his seventh straight loss. The left-hander, who struck out three, has allowed four or more runs six times during his losing streak.
After falling behind early, Houston got within a run against Zito, who allowed an RBI single by Brandon Barnes in the second inning. Jose Altuve led off the third with a single and scored on Brett Wallace's base hit, and Jimmy Paredes lifted a sacrifice fly to cut the deficit to 4-3.
Scott Moore went 2-for-2 with an RBI for the Astros, who have dropped 11 of 13 overall and 17 of 20 at home.
GAME NOTEBOOK: San Francisco LHP Jeremy Affeldt was activated from the paternity list and RHP Clay Hensley was placed on the 15-day disabled list with a strained right groin. Affeldt, who missed just one day as his wife gave birth to the couple's third son on Tuesday, tossed a scoreless inning in his return. ... Astros RHP Bud Norris, who left Tuesday's loss with a blister on the middle finger of his right hand, is expected to make his next start. Norris has not won since May 21, going 0-10 in his last 15 outings. ... Giants RHP Guillermo Mota made his first appearance since May 5, allowing one run on a hit and a walk while recording two outs. Mota returned to the active roster Tuesday after serving a 100-game suspension for testing positive for a banned substance.