Matt Cain overcame some shaky defense behind him last week to stretch his winning streak to six straight starts, prompting manager Bruce Bochy to say his club "had the right guy out there."

Among the league leaders in wins and earned run average, it's tough to imagine a situation when Cain isn't the right guy to have on the mound.

The right-hander tries to match the longest winning streak of his career this evening when the San Francisco Giants continue a three-game series with the Houston Astros.

Cain hasn't lost in seven straight outings since a setback versus the Marlins on May 1, and his current six-game winning streak that began two starts later is his best since picking up seven victories in a row from May 7-June 14, 2009. The run has pushed Cain's season record to 7-2 with a 2.41 ERA in 12 starts.

Few would have blamed the 27-year-old if he couldn't overcome his club's mistakes in last Thursday's game against the Padres. The Giants made four errors in the game, including two during the third inning that made all three of the runs Cain allowed unearned. The former All-Star, though, worked around seven hits and a walk while striking out nine in an 8-3 win.

"Matt's unflappable. What a job he did to overcome mistakes," added Bochy.

Cain has struggled in his career versus the Astros, going 1-3 with a 4.69 ERA in seven outings, including six starts.

Tonight's starter for the Astros, J.A. Happ, has been headed in the opposite direction of Cain since allowing just one run over 12 innings of back-to-back wins on May 17-22. He has lost all three of his starts since and lasted a season-low 4 2/3 innings in Thursday's outing versus the Cardinals.

The left-hander needed 106 pitches to get through the start, including 42 in the third after opening the game with two scoreless innings. Overall, Happ was charged with four runs on five hits and five walks while striking out six.

"I felt real good coming out and then in that third I just made it harder than it needed to be," admitted Happ, who has fanned 23 batters in 18 innings of his losing streak. "They did a good job of fouling a lot of pitches off and battled and I let a couple of guys go."

Happ fell to 4-6 with a 4.54 ERA in 12 starts this season. The 29-year-old will be looking for his first victory both on the road this season and lifetime versus the Giants. He is 0-2 with a 5.24 ERA in four starts away from Houston and 0-2 with a 3.75 ERA in two previous encounters with San Francisco.

The Giants finally broke out the lumber at AT&T Park in Tuesday's opener, with starter Madison Bumgarner hitting his first career homer in the third inning to snap his club's string of 16 straight home games without a home run.

Bumgarner also was excellent on the hill, allowing two runs -- one earned -- on six hits over 7 2/3 innings. He did not walk a batter and struck out a season-high 12.

Perhaps inspired by Bumgarner's hit, Brandon Belt hit his first homer of the season, a two-run shot, while Melky Cabrera added an RBI hit in San Francisco's eighth victory in 11 games.

"It feels great. Home runs are why we play I guess," said Belt with a laugh after going deep for the first time since Sept. 27. "Everybody likes hitting home runs but my main focus was going up there and having a good at-bat. A good at-bat turned into a home run."

Brian Bixler drove in two runs and Jason Castro added an RBI double for the Astros, who had taken two of three from the Chicago White Sox in their previous series.

Bud Norris allowed three runs on three hits and three walks in 3 1/3 innings before leaving due to a knee injury. He also had five strikeouts in defeat.

The Astros won four of seven against the Giants last season, with the clubs splitting four meetings in San Francisco.