Matt Harvey probably should start the All-Star game next Tuesday for the simple reason it would ensure he won't have to pitch the seventh inning.

For the second time in less than a week, Mets manager Terry Collins stuck with his tiring warhorse into the seventh and got burned by the decision.

The Mets didn't let anybody off the hook until the 16th inning, when Brandon Crawford booted Anthony Recker's grounder, allowing Eric Young Jr. to score the go-ahead run in a 4-3 victory over the Giants at AT&T Park. Young singled and stole second to begin the rally, helping the Mets (38-48) win their second straight. It was the Mets' fourth game this season that lasted at least 15 innings. The Mets had lost the other three.

This one wasn't complete until Bobby Parnell struck out Pablo Sandoval and retired Guillermo Quiroz with the tying and winning run on base in the bottom of the 16th inning, ending the 5-hour, 26 minute marathon (for fans watching on the East Coast, that translated into 3:42 a.m.).

Crawford's RBI single in the seventh tied the game at 3-3 against Harvey after Hunter Pence smashed a leadoff triple that just missed clearing the high brick wall in right-center.

In his previous start, Harvey appeared on fumes heading into the seventh against the Diamondbacks and allowed two runs in the inning, without recording an out, to receive his second loss of the season.

Harvey's final line over seven innings last night included three earned runs allowed on six hits with six strikeouts and one walk. He threw 121 pitches.

Before the game Giants manager Bruce Bochy, who will manage the NL All-Stars and select the starting pitcher, said last night's performance probably wouldn't affect his decision either way.