Chris Carpenter tossed a four-hitter for his 0 win over Milwaukee, but the game turned ugly in the ninth inning.
Carpenter (9-9), who walked a pair of batters, had five strikeouts, including one to Nyjer Morgan in the ninth. Morgan, who was apparently using chewing tobacco, swung through a pitch for the strikeout, but then directed some words toward the mound.
Carpenter had his back turned as he was walking toward shortstop, but Morgan threw something from his mouth toward the pitcher. Benches then emptied and Morgan was ejected by third base umpire Derryl Cousins. After order was restored, Carpenter retired Ryan Braun on a grounder back to the mound and Prince Fielder on a fly ball to cap the contest.
It was Carpenter's first shutout in exactly two years when he threw a one- hitter at Milwaukee.
Rafael Furcal homered and Yadier Molina added a sacrifice fly for the Cardinals, who took two of three in the series, but have faint playoff hopes as they are 8 1/2 games behind first-place Milwaukee in the NL Central. The Cardinals don't play the Brewers again this season and have a tough test ahead by playing Atlanta and Philadelphia, two teams likely headed to the playoffs, in seven of their next 10 games.
St. Louis is 6 1/2 games behind the wild card-leading Braves.
"I don't even know what the numbers are, I just know tonight was an important game to win," Carpenter said. "We're going to go out all the way to the end."
Zack Greinke (14-6) was charged with eight hits over seven innings in defeat for the Brewers, who start a four-game series at home against the NL East- leading Phillies on Thursday.
"We just need to go back and play good baseball, start swinging it," Brewers manager Ron Roenicke said.
Lance Berkman doubled in the fourth, went to third on Skip Schumaker's sacrifice bunt and scored on Molina's fly ball to right field. Berkman came in standing up and avoided the swipe tag from Jonathan Lucroy.
Furcal led off the next frame with his seventh homer of the season, a blast to right field.
"You want to attack someone like Furcal and let him do his stuff and make your really good pitches to the next couple of guys," Greinke said. "I just got burned there."
Carpenter, who got his 32nd career complete game and third this year, stranded Morgan at third in the sixth when Fielder flied out to a sliding Jon Jay in center field.
Brewers right fielder Corey Hart went 0-for-4 and had his 18-game hitting streak snapped...Brewers third baseman Casey McGehee was ejected in the fourth inning by home plate umpire D.J. Reyburn for arguing a called third strike...The teams split 18 meetings this season...Carpenter has 14 career shutouts.