ST. LOUIS -- The National League's best-hitting team was just the latest victim for Jason Schmidt.
Schmidt threw his third consecutive complete game, holding down St. Louis on seven hits and leading the San Francisco Giants over the Cardinals 5-1 Monday night. The Cardinals entered with a .292 average.
"The guy we had on the mound, he'll do that against anybody," Giants manager Felipe Alou said. "Who specializes in hitting that kind of stuff? Where are they?"
Marquis Grissom doubled twice with an RBI and Edgardo Alfonzo had three hits for the NL West leaders, who have won six of nine. It was the first meeting this year between the teams that played in the 2002 NLCS.
Schmidt (8-3) blanked the Cardinals until Jim Edmonds homered to lead off the ninth. That shot ended Schmidt's streak of 26 straight innings without an earned run, and cost him his fourth shutout of the season.
"Anybody would be happy right now," Schmidt said. "Let's just keep it going -- that's all I can say.
"It's a long season and it's the second half that really counts."
Schmidt leads the majors with a 2.14 ERA and five complete games. He struck out five, including leadoff hitter Bo Hart three straight times, and walked one.
Alou said Schmidt should be on the All-Star team.
"He's worthy of a lot of stuff," Alou said. "He's really turned his career around. I've never had a pitcher like that since Pedro Martinez."
Schmidt beat Los Angeles 2-0 and 2-1 in his two previous starts, allowing only an unearned run and striking out 17 while allowing just seven hits.
"There's nobody in the league, and probably in baseball, pitching any better than he is," Cardinals manager Tony La Russa said.
St. Louis star Albert Pujols was 0-for-4 as his major league-leading average fell five points to .386.
Edmonds hit his 14th homer in June and 25th of the season. He connected for the fifth time in six games and drove in a run for the seventh straight game.
Rookie Dan Haren (0-1), a second-round draft pick in 2001 who dominated at the Double-A level at the start of the season, was called up earlier Monday from Triple-A Memphis to take the place of struggling ace Matt Morris.
Haren, 22, lasted six innings and gave up four runs -- two earned -- on seven hits. He struck out three and walked one.
"I proved I can compete at this level," Haren said. "I don't know when the next time I'm pitching here is, but I can't wait for that day."
Morris will skip a turn in an attempt to correct some mechanical flaws in his delivery. He is 2-2 with a 9.51 ERA in June, and is expected to make his next start Saturday in Chicago.
Neifi Perez and Grissom had consecutive one-out doubles in the first to give the Giants the lead. San Francisco went ahead 4-0 in the fourth with the help of an error in center field by Edmonds. Jose Cruz Jr. hit a drive to left-center with two on, and Edmonds got to it but couldn't catch it.
Cruz ended up on third base as both runners scored, and Edgar Alfonzo added a run-scoring single through a drawn-in infield.
Grissom doubled with one out in the seventh and scored on Barry Bonds' RBI single off Esteban Yan.
Notes: Grissom is batting .355 over the last 44 games. ... Haren is the youngest Cardinals pitcher to make his debut since Bud Smith at age 21 in 2001. ... Edmonds has two errors this season, both this month. ... Schmidt is 7-6 against the Cardinals for his career, although he lost both of his starts last season. ... The Cardinals have scored eight or more runs in each of their last 15 victories and four or fewer runs in each of the last 15 losses. ... La Russa let Yan bat with two outs in the eighth, and he beat out a bunt.