MIAMI -- Mike Stanton will likely remember two plays from Saturday night.
One was the catch he nearly made.
The other was the catch he shouldn't have made.
San Diego became the first team in nearly two months to score more than one run against Florida ace Josh Johnson, and the NL West-leading Padres also took advantage of two huge breaks in the fifth inning on their way to a 2-1 win over the sputtering Marlins.
Jerry Hairston Jr. tripled to right-center, the ball skipping just off the top of a diving Stanton's glove. One batter later, Stanton sprinted into foul ground and leaned over the bullpen wall to catch a fly ball off the bat of San Diego starter Jon Garland, a fine play yet one that gave him no chance of throwing out Hairston at the plate with what became the winning run.
"I guarantee you, if he had it back, he'd probably let it drop," Garland said.
After the game, Stanton sat in silence at his locker, not speaking with reporters. Johnson said he was among those trying to yell loudly enough so Stanton wouldn't catch Garland's fly ball, but their efforts were in vain.
"He just wanted to make a play," Johnson said. "That's it. I said 'Nice catch' to him. It was a really good catch, it's tough to go over to that wall and make a catch."
Adrian Gonzalez and David Eckstein each finished with two hits for the Padres. Garland (8-5) pitched into the seventh and allowed one run and four hits for the Padres, who at 44-30 moved 14 games over .500 for the first time since the end of the 2007 season.
"Great pitcher's duel. It really was," Padres manager Bud Black said. "I think we all knew, the way Johnson's been throwing that it was going to be a game like tonight. I think Jon rose to the occasion. He knew he had to match him and he did."
Cody Ross, Chris Coghlan and Dan Uggla each had two hits for Florida, which has lost 11 of its past 18 games and fell to 1/3 under interim manager Edwin Rodriguez, who formally interviewed for the permanent job earlier in the day.
Johnson (8-3) gave up two runs and five hits in eight innings, striking out nine and walking one.
Over Johnson's previous eight starts since May 8, he was 5-1 with an 0.63 ERA. He went at least six innings in every one, allowing no more than one run in any of them. Consider: The last pitcher with a longer streak of games of six innings and fewer than two runs allowed was Bob Gibson in 1968.
"I didn't do my job," Johnson said. "We had one run. I gave up two. That's not doing your job."
By any measure, Garland did his.
Garland retired 14 straight before walking Hanley Ramirez with two out in the sixth. Ramirez was quickly erased trying to steal second. Garland then set down the first two Florida batters in the seventh before Ross ended his night by hitting a sharp single to center, smiling as he left the mound, content in his night's work.
The Marlins left baserunners at second in the eighth and ninth.
Mike Adams struck out Ramirez and Jorge Cantu in the eighth with the tying run in scoring position. In the ninth, after Uggla led off with a single -- and Gwynn retired Ross with the sliding catch -- Bell struck out Brett Hayes for the second out. Uggla advanced to second, but Bell fanned Stanton to end the game.
"You have to find a way to score runs," Rodriguez said. "One run in 18 innings isn't going to produce too many wins in this league."
Florida opened the scoring in the second, Stanton's sacrifice fly easily bringing home Uggla. San Diego tied it in the fourth, when Gonzalez's double to deep right allowed Eckstein to come around from first without a play at the plate.
Johnson has struck out 107 and walked just 27 this season ... Florida interim bench coach Brandon Lyon coached first base for Dave Collins, who resigned unexpectedly Saturday afternoon. Marlins president of baseball operations Larry Beinfest said Collins didn't specify a reason ... Padres RHP Mat Latos, who starts Sunday, attended high school and community college in South Florida. His last homecoming wasn't a good one: The Marlins touched him for seven earned runs in 2 2/3 innings on April 26. ... With an 0-0 count, Stanton is 2 for 3 with three RBIs.