After losing a victory, Carlos Zambrano lost his cool.

The volatile Cubs starter criticized closer Carlos Marmol for giving Ryan Theriot a pitch to hit on the RBI double that kept the visiting St. Louis Cardinals alive for another timely shot from Albert Pujols. The All-Star slugger hit a game-ending homer in extra innings for the second straight day, beating the Cubs with a leadoff shot in the 10th inning of a 3-2 victory yesterday.

"The problem wasn't Pujols, the problem was the previous at-bat," Zambrano said. "We're playing like a Triple A team. This is embarrassing."

Zambrano said Marmol should know Theriot, who played for Chicago for six seasons, can't catch up to his fastball. Marmol shook off a sign for the fastball and Theriot lined a slider down the leftfield line.

"I made a mistake," Marmol said. "The pitch was right down the middle. I missed with my best pitch and he got a hit. I mean, what can you say?"

Earlier in the at-bat, catcher Koyie Hill and third baseman Aramis Ramirez visited the mound. Hill said it was to help Marmol relax.

"We should know that Ryan Theriot is not a good fastball hitter. We should know that as a team," Zambrano said. "We should play better here. We stink. That's all I have to say."

Pujols hammered a 2-1, belt-high fastball from Rodrigo Lopez (0-1) an estimated 446 feet to left for his 10th career walkoff homer. His fifth during a seven-game homestand and No. 13 for the season gave the Cardinals a three-game sweep over the scuffling Cubs, who have lost nine of 11.

"You hitch up your belt and you go to Cincinnati and you say they're going to pay," Quade said. "It's the only thing you can do."

The Cardinals were down to their last strike before Theriot's hit, driving in pinch-runner Tony Cruz from first. Theriot extended his hitting streak to 19 games, the Cardinals' longest since Pujols hit in 30 straight in 2009.

Marmol has two blown save opportunities in his last three appearances and is 10-for-14 overall. He had worked a franchise-record 26 consecutive scoreless innings on the road before Theriot's hit on a 2-2 pitch.

"Yeah, I feel good," Marmol said. "It's not about how I feel, it's about the mistake I made. It bothers me."

Zambrano pitched seven crisp innings, yielding one run and five hits. The righthander is 7-1 with a 1.29 ERA in 13 career starts in St. Louis.

In other games:

* At New York, R.A. Dickey pitched eight baffling innings, Jose Reyes hit an RBI double and scored twice and the Mets beat the Atlanta Braves for the second straight night, 6-4.

Carlos Beltran had a run-scoring double off Tim Hudson (4-5) before fouling a ball off his right shin and leaving the game in pain.

Brian McCann homered off Dickey (3-6) leading off the seventh to snap Atlanta's scoreless streak at 15 innings. It was shut out 5-0 by rookie Dillon Gee and two relievers Saturday night.

The Mets, with Ike Davis and David Wright already on the disabled list, got another injury scare when Beltran fouled a ball off his lower leg in the second inning. Fans at Citi Field gasped when they saw their most productive hitter this season limp out of the batter's box and fall to his knees.

X-rays on Beltran's leg were negative and he is day to day with a bruise.

* At Phoenix, Rick Ankiel drove in the go-ahead run with a two-out walk in the 11th inning and Mike Morse followed with a grand slam, leading the Washington Nationals to a wild, 9-4 victory over the Arizona Diamondbacks. Managers Jim Riggleman of the Nationals and Kirk Gibson of the Diamondbacks were among four ejections, and Washington was hit by a pitch four times, including second baseman Danny Espinosa twice.

* At San Francisco, Ryan Vogelsong (4-1) pitched eight fantastic innings, matching a career high, and Andres Torres singled home the tiebreaking run, leading the Giants over Colorado, 2-1.

* At Cincinnati, Dodgers pitcher Chad Billingsley (5-4) drove in a career-high three runs with a homer, a double and a bases-loaded walk, and Los Angeles beat the Reds, 9-6.

* At Miami, Josh Wilson homered with two outs in the 11th inning, and the Milwaukee Brewers beat the Florida Marlins by a run for the third day in a row, 6-5. Milwaukee improved to 19-6 since May 9, best in the majors.

* At San Diego, Chase Headley extended his career-high hitting streak to 15 games with an RBI double and the Padres won three consecutive home games for the first time this season with a 7-2 victory over Houston.