Updated

Jonathon Niese allowed one run in 7 2-3 innings, helping the New York Mets beat the Pittsburgh Pirates 3-1 Wednesday for their third win in four games.

Niese (3-2) gave up five hits, struck out five and walked two, five days after matching his career high by allowing eight runs in a 14-5 loss at Toronto.

Bobby Parnell struck out Andrew McCutchen with runners on second and third to end the eighth. Frank Francisco completed the five-hitter with a perfect ninth for his third save in four days, his 12th in 14 chances this season.

New York improved to 15-6 in games decided by two runs or fewer, second in the majors behind Baltimore. For the second straight game, the Mets scored all their runs with two outs.

Charlie Morton (2-5) lost for the fourth time in five starts, allowing three runs and eight hits in seven innings. The Pirates have lost three of four and four of six.

Kirk Nieuwenhuis reached on a one-out single in the first and scored on Lucas Duda's single. Nieuwenhuis sacrifice fly and David Wright's RBI double — the only extra-base hit for the Mets — made it 3-0 in the fifth.

Josh Harrison doubled for Pittsburgh leading off the sixth and scored on McCutchen's single.

NOTES: Pirates RHP Jason Grilli was activated from the bereavement list and LHP Jeff Locke was optioned to Triple-A Indianapolis. Grilli, whose wife's grandfather died last week, struck out the side in the eighth. ... The Mets begin a season-long 11-game homestand Thursday against San Diego. ... RHP A.J. Burnett will start for the Pirates in a series opener against the Chicago Cubs on Friday. He has allowed more than two runs in only one of six starts.