MLB

Mets outlast Cardinals to win 20-inning marathon, 2-1

ST. LOUIS — Every day seems like a long day for the Mets lately, but this one took the cake.

At least it ended in a victory. Francisco Rodriguez and Mike Pelfrey outdueled Cardinals outfielder Joe Mather — barely — over the final two frames last night, helping the Mets secure a 2-1 victory in 20 innings (or a nifty 6 hours, 53 minutes) at Busch Stadium.

Jose Reyes’ sacrifice fly against Mather, in his second inning of relief after playing the previous eight in center field, scored Angel Pagan with the go-ahead run. Pelfrey got the final three outs, leaving the tying run at second base, ending maybe the zaniest game in Mets history.

A half-inning earlier, Rodriguez received his first save opportunity of the season and blew it, surrendering an RBI single to Yadier Molina that extended the marathon.

The Mets broke the scoreless deadlock in the 19th when Cardinals manager Tony La Russa’s second position player-turned-pitcher of the game, Mather, allowed a Jeff Francoeur sacrifice fly after Reyes walked leading off.

It wasn’t the longest scoreless tie in Mets history by a long shot. The Mets and Astros went 23½ innings scoreless — a major-league record — on April 15, 1968, before Houston scored to win 1-0 at the Astrodome.

With his bullpen exhausted, La Russa used infielder Felipe Lopez to pitch the 18th inning. Raul Valdes reached on an infield single, but was out attempting to reach second on Brendan Ryan’s wild throw to first. Valdes should have been safe easily, but he coasted into the bag and was thrown out by Albert Pujols.

The Cardinals tried to catch Reyes sleeping in the 16th, but their gamble failed when Ludwick was thrown out attempting to score from second on a fielder’s choice. With runners on first and second, Bryan Anderson hit a grounder that Luis Castillo fielded and flipped to Reyes, who had no chance at completing the double play. Ludwick kept running around third and Reyes alertly threw home. Henry Blanco applied the tag for an easy third out.

Hisanori Takahashi walked a tightrope in the 14th, surrendering a leadoff double to Mather before botching Brendan Ryan’s sacrifice bunt to put runners on the corners with nobody out. But the lefty struck out Skip Schumaker and Ludwick before intentionally walking Pujols to load the bases. Takahashi then struck out the pitcher, Blake Hawksworth, to keep the game going.

The Mets did not get their second hit until the 12th inning, when Castillo stroked a one-out single against Jason Motte.

Nobody had a rougher afternoon than Jason Bay, who finished 0-for-7 with four strikeouts. It gave Bay 18 strikeouts in his first 11 games, and he is still homerless with only two RBIs.

The defensive gold star went to Alex Cora, who lunged into the first-base stands to catch a Matt Holliday pop up, ending the 10th inning. The Cardinals had loaded the bases with two outs against Pedro Feliciano and Fernando Nieve when Holliday hit a towering foul on a 1-0 pitch. Cora, who entered the game as a defensive replacement at first base, disappeared into the stands and emerged with the ball.

Johan Santana rebounded from a terrible performance against the Nationals, in which he surrendered a grand slam to Josh Willingham, by firing seven shutout innings and allowing four hits and one walk. That made it one run allowed by Mets starting pitchers over their past 21Ð innings.

But Jaime Garcia was even better than Santana, allowing only one hit and one walk over seven scoreless innings. The lefty took a no-hitter into the sixth and retired 13 straight batters at one point.

Angel Pagan’s leadoff single against Garcia in the sixth gave the Mets their first hit. But Pagan got no farther than second base, left stranded as David Wright struck out to end the inning.

Wright drew a two-out walk in the first — the only baserunner the Mets had through five innings. Wright stole second, but remained there when Bay was caught looking at strike three for the third out. Santana allowed a leadoff single to Molina in the seventh, but after David Freese dropped a sacrifice bunt, he struck out Lopez and Colby Rasmus in succession.

Ryota Igarashi took over in the eighth and struck out Matt Holliday after Ryan Ludwick and Pujols had walked with two outs.

In the ninth, Nick Stavinoha’s single against Igarashi prompted manager Jerry Manuel to summon Feliciano, who got Lopez to hit into an inning-ending double play. A night earlier, Feliciano was unavailable because of a stomach virus and Manuel used Raul Valdes to face Lopez in the seventh inning. The result was a grand slam that catapulted the Cardinals to a 4-3 victory.

The Cardinals got a leadoff double from Skip Schumaker in the first, but Santana labored through the inning — throwing 24 pitches in the process — and escaped without a run scoring.

Santana walked Freese and allowed a single to Lopez in the second but both were left stranded.

mpuma@nypost.com