Updated

PHILADELPHIA (AP) — Josh Johnson outdueled Roy Halladay in their perfect game rematch, pitching eight dominant innings and leading the Florida Marlins over the Philadelphia Phillies 2-0 Thursday night.

Johnson and Halladay last met on May 29 in Miami, when the Phillies ace threw the 20th perfect game in major league history in a 1-0 win.

This time, Johnson (7-2) gave up three hits, walked one and struck out five as the Marlins ended a four-game losing streak.

Halladay (8-4) was sharp, too, allowing one run and six hits in eight innings. He fanned eight and walked one.

Both Halladay and Johnson finished the outings with ERAs under 2.00.

A game after scoring 10 runs, the Phillies were shut out for the seventh time this season, matching their entire total from 2009.

Johnson escaped a first-inning jam by striking out Jayson Werth, then retired 17 in a row after allowing a one-out double to Shane Victorino in the third. Johnson was pulled after 113 pitches.

Leo Nunez worked around a one-out double to Placido Polanco for his 13th save in 15 chances. He struck out Ryan Howard to end it, finishing a game played in a brisk two hours, 23 minutes.

The Marlins scored a run in the first after loading the bases with no outs. Chris Coghlan and Gaby Sanchez singled to center and Hanley Ramirez walked, setting up Jorge Cantu's sacrifice fly.

Dan Uggla hit his 14th home run of the season off Danys Baez in the eighth.

NOTES: The Phillies announced that Wednesday night's rainout against Florida will be made up as part of a day-night doubleheader on Sept. 6. The first game is scheduled for 1:05 p.m., followed by the regularly scheduled 7:05 start. ... Coghlan, the 2009 NL Rookie of the Year, extended his hitting streak to 10 games. ... Marlins OF Mike Stanton, who got three hits in his major league debut Tuesday, went 0 for 4 with two strikeouts.