Posada had three hits and three RBI; Jason Giambi had two runs, one hit and one RBI; Johnny Damon had one hit and scored twice; and Andy Phillips had three hits for the Yankees (41-30), who have won their last three games.
In seven innings, winner Chien Ming-Wang (8-3) yielded four runs on nine hits with no walks and two strikeouts. Mariano Rivera got his 15th save.
Miguel Olivo hit a two-run homer, Hanley Ramirez had one run and three hits, and Jeremy Hermida and Alfredo Amezaga each had a run and two hits for the Marlins (31-39), who suffered only the second loss in their last 12 games.
Loser Brian Moehler (5-6) yielded six runs and eight hits in four innings.