It was hardly the matchup the injury-plagued Mets needed. They lost their fifth game in a row, and their disabled list grew to 13 players when pitcher Oliver Perez was sidelined with a season-ending knee injury.
Johnson (13-3) allowed three runs and retired the side in order only once. But he climbed 10 games above .500 for a team that's eight over.
"Any time he goes out there, we have so much confidence in him, we expect him to shut them out and not give up any hits," teammate Cody Ross said. "He battled through some tough innings."
Three relievers combined for three scoreless innings, with Leo Nunez pitching the ninth for his 16th save in 20 chances.
Mike Pelfrey (9-9) fell to 1-6 in 10 starts against Florida, with six losses in a row. The righthander gave up 11 hits, five walks and five runs in 5 2/3 innings.
In other games:
* At Chicago, Milton Bradley homered and had three RBIS and the Cubs scored six runs in the eighth inning in a 9-4 victory over Washington. Bradley hit a two-run homer in the third and had a go-ahead groundout to break a 2-2 tie in the seventh.
* At Milwaukee, pinch-hitter Darnell McDonald hit an RBI double to drive in the winning run in the 10th inning, and Cincinnati beat the Brewers, 4-3.
* At Denver, Andre Ethier hit two of Los Angeles' three home runs, powering the struggling Dodgers past resurgent Colorado, 6-1, to restore their teetering lead in the NL West to three games over the Rockies.
* At San Francisco, pinch-hitter Bengie Molina hit a three-run home run in the eighth inning and the Giants rallied for a 4-3 victory over Arizona.
* At Atlanta, San Diego stunned the Braves with a six-run sixth inning, and Kevin Kouzmanoff added a two-run homer that lifted the Padres to a 12-5 rout.
* At St. Louis, Joel Pineiro (13-9) worked eight strong innings to win his seventh straight decision and the Cardinals jumped on Roy Oswalt (7-5) early in a 3-2 victory over Houston.
* Colorado catcher Yorvit Torrealba and umpire Bill Miller have avoided suspensions over their on-field dispute during the Rockies' 14-inning win over the San Francisco Giants on Monday night. Baseball disciplinarian Bob Watson told the Associated Press that while nobody will be suspended over the brouhaha, fines are still likely to be handed down once his investigation is complete.