Published: Sep 01, 2012 11:38 PM EDT
Updated: Sep 02, 2012 6:31 AM EDT

MIAMI (AP) - With closer Steve Cishek on the mound protecting a two-run lead, Josh Johnson was on the verge of getting his first win since Aug. 3.

It was not to be.

Kelly Shoppach hit a go-ahead two-run single with two outs in the ninth inning that cleared the bases when center fielder Justin Ruggiano misplayed the ball Saturday night, lifting the New York Mets to a 5-3 victory over the Miami Marlins.

The Mets had been frustrated most of the night by Josh Johnson, who was trying to snap a personal four-game losing streak. The Marlins ace allowed a run and three hits in eight innings and held the Mets hitless until the fifth. He left leading 3-1.

"I changed a few things in my delivery; closed up my front side a little longer, helped me hide the ball a little. I felt good out there," Johnson said.

New York rallied for four runs in the ninth against Cishek (4-2). The Marlins closer had been 10-for-10 in save opportunities in his previous 24 appearances.

"He's been throwing the ball really well. So (the blown save is) a bit of a surprise, but that's kind of how things have been going," Johnson said.

Daniel Murphy and David Wright led off with singles to put runners on first and second. Cishek struck out Ike Davis before Lucas Duda singled home Murphy, with Wright reaching third.

Mike Baxter fouled out to shortstop Jose Reyes before Cishek walked Andres Torres, loading the bases. After Jason Bay entered to run for Duda, Shoppach singled to center.

Ruggiano let the ball get by him while attempting to field it, allowing Torres to score and Shoppach to reach third. The three runs gave the Mets a 5-3 lead.

Cishek took little consolation that he had been pitching well before Saturday's disaster.

"It's disappointing," he said. "The team played awesome, and getting the extra (insurance) run going in makes it a little more comfortable, but I didn't fool anyone today -- they squared it up pretty good."

Ramon Ramirez (3-3) pitched the eighth and Frank Francisco earned his 23rd save in 26 tries with a perfect ninth.

Miami has dropped three straight and seven of nine.

"It hurts, but Cishek has been pitching so well for us all year long," Marlins manager Ozzie Guillen said. "They got a big hit, they put a good inning together. There's nothing you can do about it."

The Marlins scored a run in the eighth when Carlos Lee's one-out single scored Reyes from second.

Jeremy Hefner allowed two runs and six hits in six innings. He walked one and struck out four.

Miami went ahead 2-1 in the sixth when Gioncarlo Stanton's infield single scored Reyes from third.

With one out, Reyes and Lee singled to put runners on first and third. Stanton then hit a grounder with much spin toward first.

Davis fielded the ball, looked toward the plate, then made a back-handed flip to second baseman Murphy, who was covering first. Murphy caught the ball but his foot fell way short of the first base bag. Stanton was credited with an RBI single.

Baxter had the Mets first hit when he doubled to left-center leading off the fifth. Baxter took third on a groundout by Torres and scored when Josh Thole grounded out to short with the infield in.

Reyes made a nice play to field Thole's grounder on a hard hop, but had little chance to prevent Baxter from scoring.

Bryan Petersen's RBI double in the third gave Miami a 1-0 lead.

Donovan Solano led off with a single and reached second when John Buck grounded out to shortstop. After Johnson struck out, Petersen lined a double to left-center, where the ball tailed away from center fielder Torres.

Thole snapped an 0-for-30 skid when he open the eighth with a single. But pinch-runner Ronny Cedeno was erased on pinch-hitter Justin Turner's double-play grounder.

With Cedeno running on the pitch, Turner grounded to the second base bag where Solano fielded the ball, stepped on the base and threw to first.

NOTES: Shoppach is hitting .346 (9 for 26) with two homers and seven RBIs for the Mets. ... It was Cishek's fourth blown save. ... The series continues Sunday when Mets RHP Chris Young (3-7, 4.64 ERA) opposes Marlins LHP Mark Buehrle (12-11, 3.62). ... The Mets recalled C Mike Nickeas and 1B-3B Zach Lutz from Triple-A Buffalo before the game. . With the win, the Mets won a third straight series for the first time since Aug. 29-Sept. 7, 2011. . Baxter walked on three balls in the fifth inning Friday night. Baxter's at-bat should have continued with a 3-2 count. The mistake was not caught until after the inning.