Beckett (5-3) struck out nine in 6 2-3 innings, but lost for the third time on the road this season. He also lost to the Padres for the first time in four career starts.
Trevor Hoffman pitched a perfect ninth for his 10th save in 12 chances this season and the 403rd of his career. Hoffman, whose 400th save came on the road a week earlier at St. Louis, received a standing ovation as he jogged in from the bullpen and then struck out the first two hitters he faced.
With the game tied at 1, Brian Giles started the Padres’ two-run seventh with a leadoff walk, then scored on Hernandez’s opposite-field double to right. Hernandez was caught in a rundown on Sean Burroughs’ comebacker and Khalil Greene struck out before pinch-hitter Mark Sweeney doubled to chase Beckett.
Lefty Matt Perisho came on and walked Dave Roberts to load the bases. Perisho made way for Nate Bump, who allowed Mark Loretta’s RBI single to make it 3-1. Sweeney was thrown out at home by right fielder Juan Encarnacion.
Eaton held the Marlins to one run and six hits in seven innings. Beckett allowed three runs and seven hits.
Miguel Cabrera pulled the Marlins into a 1-1 tie with one out in the sixth when he hit an impressive homer into the balcony on the fourth level of the Western Metal Supply Co. Building in the left field corner. It was his sixth of the season.
Klesko had given the Padres a 1-0 lead with one out in the first when his single scored Roberts, who reached on a leadoff single and stole second.
The Padres are a season-high four games over .500 (20-16). … The San Diego Chicken makes his Petco Park debut Saturday night. … Jake Peavy, who’s given up 11 earned runs over 21 1-3 innings in his last three outings, starts for the Padres on Saturday night against Al Leiter. Peavy’s 2.27 ERA last season was the best in the majors. He’s currently at 2.76.