All Matt Cain did in Wednesday's meeting with the Astros was throw the first perfect game in Giants' history.

That's an impressive feat for today's starter Barry Zito to follow. He'll simply be looking to shake off his first home loss of the season as San Francisco tries to cap off a historic three-game series against Houston with a sweep.

A franchise that dates back to 1883 had never seen one of its pitchers throw a perfect game until Cain's 125-pitch masterpiece in last night's 10-0 victory. In his eighth win of 2012, Cain struck out a career-high 14 to match Sandy Koufax for the most punchouts in a perfect game and logged the Giants' sixth no-hitter since relocating to San Francisco.

Cain threw the 22nd perfect game in Major League history and second this year following Philip Humber's perfecto for the White Sox on April 21. His no- hitter was the first for San Francisco since Jonathan Sanchez on July 10, 2009 against the Padres.

"First time through the lineup, I felt like I had good stuff and was able to locate the ball where I wanted to," Cain said at the postgame press conference with an ice pack on his right shoulder. "I felt like something could happen."

San Francisco gave Cain plenty of support at the plate, pounding out 15 hits and getting homers from Gregor Blanco, Brandon Belt and Melky Cabrera. Blanco also contributed to Cain's historic outing by making a diving catch along the warning track in the seventh inning.

"I don't know how [Blanco] caught that ball," Giants manager Bruce Bochy simply stated.

San Francisco won for the 12th time in 16 games and sits 3 1/2 contests back of Los Angeles for first place in the National League West. Houston, meanwhile, has lost five of seven.

J.A. Happ was on the opposite end of the spectrum from Cain, lasting just 3 1/3 innings and surrendering eight runs on 11 hits en route to his fourth straight losing start.

The Giants now turn to Zito, who won his first three home decisions of the campaign, including back-to-back wins over the Diamondbacks and Cubs on May 28 and June 3 in which he allowed only two runs over 15 1/3 innings, before taking a loss against the visiting Rangers on Friday. The left-hander was touched for four runs on nine hits and a pair of walks in six innings.

Zito allowed a run in four separate frames, giving up solo homers to Ian Kinsler and Josh Hamilton in the first and fifth frames, respectively. He fell to 5-3 with a 3.24 earned run average in 12 starts this season and 3-1 with a 3.13 ERA in six at home.

"I wanted to make them earn it and not give them any free passes," Zito told the Giants' official website. "And they earned it."

Zito has faced the Astros six times prior, with the 34-year-old going 3-2 with a 4.54 ERA.

While Zito has gone at least six innings in five of his past seven outings, Astros starter Wandy Rodriguez has struggled going deep and will look to log some innings this afternoon.

Though Rodriguez is 2-0 in his past four starts, he hasn't pitched more than 5 1/3 frames in his last three. He was drilled for nine runs -- seven earned -- and four homers over five frames of a no-decision versus the Reds on June 2, then beat the White Sox last Friday. The left-hander was able to keep the ball in the stadium and allowed three runs on nine hits over 5 1/3 innings.

Rodriguez, 33, is 5-4 with a 3.27 ERA in 13 games this season and lifetime against the Giants he is 2-2 with a 3.42 ERA in four meetings.

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