SAN FRANCISCO -- For all those Giants masterpieces, from Christy Mathewson to Juan Marichal and Gaylord Perry, Matt Cain topped them all.

Cain pitched the franchise's first perfect game and the 22nd in major league history, striking out a career-high 14 and getting help from two spectacular catches to beat the Houston Astros 10-0 on Wednesday night.

Cain's 125-pitch gem for San Francisco featured a pair of great plays by his corner outfielders. He got pinch hitter Jason Castro on a grounder to third for his 27th and final out with the sellout crowd of 42,298 roaring.

"This is incredible right now," Cain said. "It was unbelievable. The guys did a great job making it, in a way, kind of relaxing, because they were able to get on the board early."

It was the fifth no-hitter in the majors already this season and second perfect game.

Another Year of the Pitcher? You bet.

In the very ballpark where Barry Bonds made home run history five summers ago, Cain produced the signature moment for pitchers. It was the 14th no-hitter in club history -- Mathewson pitched Nos. 2 and 3 in 1901 and '05, and Marichal and Perry had one apiece.

Left fielder Melky Cabrera chased down Chris Snyder's one-out fly ball in the sixth, scurrying back to make a leaping catch at the wall. Cain raised both arms and slapped his glove in delight when Cabrera made the play.

Then, right fielder Gregor Blanco ran into deep right-center to make a diving catch on the warning track and rob Jordan Schafer for the first out of the seventh. The 27-year-old pitcher hugged Blanco in the dugout after the inning.

"Those were unbelievable catches," Cain said. "I mean that right there, that changes the whole thing."

Philip Humber of the Chicago White Sox tossed the majors' last perfecto, at Seattle on April 21. This is the second time in three years there have been two perfect games in the same season -- before that, the only other time it happened was in 1880.

Cain (8-2) accomplished a feat last done in the Bay Area by A's lefty Dallas Braden on Mother's Day 2010.

Braden tweeted Wednesday night: "What a beautiful game. Congrats 2 Matt Cain & a historic franchise & city. A special memory ill tell someones kids about! #eraofthepitcher."

Not since 1917 have there been five no-hitters in a season by mid-June. The only year that came close was 1990, when Fernando Valenzuela and Dave Stewart each pitched no-hitters on June 29 -- the fourth and fifth of the season.

This year, Johan Santana tossed the New York Mets' first no-hitter on June 1 and six Seattle pitchers shut down the Los Angeles Dodgers last Friday. Jered Weaver had one for the Los Angeles Angels on May 2.

The Astros were no-hit for the fifth time and first since Carlos Zambrano did so for the Cubs on Sept. 14, 2008.

"Just an incredible night," Giants manager Bruce Bochy said. "We were all pulling so hard."

The Giants made a big commitment to Cain this spring, locking him up for a long haul -- and he showed exactly why general manager Brian Sabean has vowed to keep his talented pitchers. In a week when the city's attention turned to golf and the U.S. Open, Cain delivered his most impressive gem yet in his 216th career start.

The 125 pitches were the most ever thrown in a perfect game.

The two-time All-Star who had long been the Giants starter who endured a lack of run support already was rewarded with a new $127.5 million, six-year contract in early April before the season started. This certainly meant as much or more to the homegrown pitcher.

Cain threw 86 pitches for strikes, faced just four full counts and still clocked 90 mph in the ninth. Cain followed up Madison Bumgarner's 12-strikeout gem in Tuesday night's 6-3 win.

"I know when I haven't given up a hit, I'm always conscious of it," Cain said. "Probably the first time through the lineup I felt like I had good stuff. The first time through the lineup I felt like something could happen."

Something special, all right. It was the first no-hitter by San Francisco since departed left-hander Jonathan Sanchez did it July 10, 2009, against the Padres at AT&T Park.

The Astros were no-hit by the Giants for the second time. Marichal did it on June 15, 1963.

Even Cain thought Snyder had enough to clear the fences in the sixth. That's when the Astros realized it might be a long night.

"When the ball I hit doesn't go out and the ball that Schafer hits is caught ... I've never seen a ball hit like that into that gap," Snyder said.

Blanco said of his catch: "I didn't think I was going to make it, but I did,"

Ted Barrett became the first umpire to work behind the plate for two perfect games. He also worked David Cone's 1999 perfecto at Yankee Stadium.

"He could put the ball anywhere he wanted," Barrett said. "He knew where he wanted to throw it, and he threw it there. Cone had the big, big backdoor breaking ball. It was against the Expos and I don't think they had faced him before. They were a little bit baffled by Cone's stuff."

Cain pivoted on the mound to watch third baseman Joaquin Arias make a long throw from third for the final out, then the celebration began. First baseman Brandon Belt caught the last throw, tucked the ball in his back pocket for safekeeping and rushed to the mound.

Catcher Buster Posey ran out to Cain, who raised his arm. His teammates jumped the dugout rail as the final out was made, a moment reminiscent of that improbable World Series championship in 2010 at Texas.

"I can't thank Buster enough," Cain said. "I didn't even question once what he was calling."

Cain's wife, Chelsea, fought tears when shown in the stands as the celebration began, then made her way to the dugout for a congratulatory hug and kiss.

Cain had come close already this season -- not once, but twice. In his second start of the year, in the team's home opener April 13, he one-hit the Pirates in a 5-0 win, then allowed only two hits over nine innings in the Giants' 11-inning, 1-0 win over Cliff Lee and the Phillies.

"I've had some opportunities in the past. There's really nothing like it," Cain said.

Cabrera, Belt and Blanco each hit two-run homers and the Giants produced an offensive outburst rarely seen at home this season and rarely seen when Cain has pitched.

On this night, he threw nine of his initial 11 pitches for strikes, commanding his repertoire with a dazzling fastball.

Cain, who hit one drive into McCovey Cove alongside U.S. Open golfer Dustin Johnson before the game to show off one of his other favorite pastimes, sat by himself in the dugout between innings.

J.A. Happ (4-7) lost his fourth straight start after giving up eight runs and 11 hits in 3 1-3 innings.

Notes

Blanco called it the best catch of his career. "I still don't know how he caught that ball," Bochy said. ... Cabrera's first-inning homer marked his first clout at home this year. ... Astros bench coach Joe Pettini will join Tony La Russa's NL All-Star coaching staff. ... Of the 22 perfect games, half have come in the past 24 years. Roy Halladay and Dallas Braden each threw one two seasons ago.