ST. LOUIS (Reuters) - The New York Mets won the longest game in the major leagues in two years, outlasting the St. Louis Cardinals 2-1 in 20 innings on Saturday.

Jose Reyes' sacrifice fly that scored Angel Pagan finally ended the game, which took nearly seven hours to play.

Neither team scored for the first 18 innings.

The Mets finally broke the drought in the top of the 19th on Jeff Francoeur's sacrifice fly to left. But the Cardinals responded in the bottom of the inning with Yadier Molina's single driving in the tying run.

New York used nine pitchers with Francisco Rodriguez, who pitched the 19th inning, claiming the win.

Joe Mather, normally an outfielder who served as the last of 10 St. Louis pitchers, was charged with the loss.

(Reporting by Gene Cherry; Editing by Greg Stutchbury)