MIAMI -- Sweaty and still soaking after a dominant pitching performance, Josh Johnson was met at his locker with a handshake and a smile that came all the way from the top.
"Wow," Florida Marlins owner Jeffrey Loria told him.
Johnson had a lot of people saying that.
The right-hander pitched seven innings of three-hit ball, Dan Uggla homered and the Marlins beat the New York Yankees 2-1 on Saturday.
Johnson (7-1) struck out five and walked two to outpitch former Marlins teammate A.J. Burnett (5-4). It was the sixth straight start Johnson has gone at least seven innings.
He's not only cemented himself as the staff ace, he's quickly becoming one of the most potent pitchers in the National League after years of injuries.
"That's huge for me," Johnson said about going deep in games. "That means I'm doing what I'm supposed to do."
The Yankees didn't do much to help Burnett.
Johnny Damon misplayed a ball hit to left field by Jorge Cantu in the sixth, allowing Hanley Ramirez to score from first to give the Marlins a 2-0 lead they would never lose.
The play was ruled an error, with Damon slow to read the ball, whiffing on the catch and letting the ball to trickle to the wall.
"I had a good read on the ball. I knew what the ball was doing," Damon said. "He kind of inside-outed the ball and it was going to center. I ended up missing the ball by a foot and that's totally unacceptable. It's amazing. There's been a lot of plays that I've messed up this year.
"I'm definitely a much better defender than that. It comes in bunches. For a while, I was pretty good out there, and then lately, I've been brutal."
Johnson quieted a Yankees team that kept a slumping Alex Rodriguez out of the starting lineup for the second straight game because of fatigue. But the three-time AL MVP did pinch-hit in the eighth, drawing a walk in his first plate appearance ever for a regular-season game in his hometown of Miami.
Matt Lindstrom pitched the ninth for his 13th save in 15 chances, getting Robinson Cano to ground into a game-ending double play. But it was Johnson that kept the Yankees off their game for most of the night.
"He didn't throw this hard when I was here," said Yankees manager Joe Girardi, who was at the helm in Florida in 2006.
The Yankees' fans turned out in scores for the second straight game with their team's rare visit to Miami. The Bronx buzz helped fill the stadium with 46,427 fans, the third-largest home crowd for a regular-season game in Marlins history.
The stadium's orange seats could barely be seen, replaced with fans in navy and pinstripes, who chanted and ranted with every swing. Florida fans fought back with cow bells that were handed out at the gate, creating a circus-like atmosphere rarely seen at baseball games in Miami.
They even to got cheer one of their own.
It was Rodriguez's first regular-season plate appearance in his hometown of Miami against the Marlins. The crowd stood throughout his at-bat and gave him nothing but cheers, the cameras flashed with every pitch.
He walked to put two runners on with no outs, but Derek Jeter grounded into a double play to put a major dent in the Yankees' rally.
It was one of many chances New York blew.
Nick Swisher hit a single to score Cano in the seventh to give the Yankees their only run. With runners on first and third, Johnson regrouped and struck out Melky Cabrera, pounding his glove and waving his hands in celebration.
"He's pretty good," Marlins manager Fredi Gonzalez said, sarcastically. "Twenty years from now, we'll say special."
Yankees OF Xavier Nady went 0 for 4 in five innings of an extended spring training game Saturday in Clearwater, Fla. It was the second consecutive day he played since hurting a ligament in his right elbow while making a throw April 14 at Tampa Bay. He hopes to start a minor league rehab assignment next week. ... Marlins RHP Anibal Sanchez played catch Saturday for the first time since aggravating his throwing shoulder during a mound session June 3. Sanchez, who threw a no-hitter in September 2006, is not expected to come off the DL when he is eligible on June 18.