Ivan Rodriguez had two hits, two RBI and a run scored for Florida. He has hit in 10 of his last 11 games with 11 extra-base hits and 17 RBI over that span.
Florida, which moved two games above .500 for the first time in two seasons, has won 17 of its last 25 games. The Marlins trail first-place Atlanta by 10 1/2 games in the National League East, but are right in the thick of the wild card race, just four games out.
Relievers Michael Tejera and Nate Bump combined to allow two runs in the eighth as Philadelphia drew within 5-4. Closer Braden Looper started the ninth by walking David Bell but got the next three batters to secure his 15th save.
Starter Brad Penny (7-6) gave up two runs - one earned - five hits and struck out six in seven innings for the Marlins. Phillies starter Vicente Padilla (7-8) was tagged for five runs in five innings and had his three-game winning streak snapped.
Lieberthal had three hits and scored twice for the Phillies, who have now lost four straight to the Marlins at Veterans Stadium.
The series wraps up Sunday with Mark Redman (6-3, 2.78) going against Randy Wolf (9-3, 3.23).