"I tried to be patient," Redmond said, "but at the end of the day I couldn't watch anymore."
Anthony DeSclafani (1-1) allowed five runs in 5 1-3 innings. He was making the second start of his career for Marlins ace Jose Fernandez, who is out for at least a year with an elbow injury that required surgery.
The game marked the start of a six-game homestand for the Marlins, who lost at Marlins Park for the first time since May 3. They still have the best home record in the majors at 17-6.
Phillies third baseman Cody Asche committed an error in the eighth when he dropped a pop foul hit by Saltalamacchia. On the next pitch, Saltalamacchia hit an RBI single to cut the Phils' lead to 6-4.
That put runners at first and third with none out, but Mike Adams retired the next three batters.
"We had tons of opportunities — chances to score, add on runs," Redmond said. "Some contact would have driven in some runs."
Phillies center fielder Tony Gwynn Jr. made a running back-to-the-plate catch near the 418-foot sign to rob the Marlins of a run in the fourth.
Burnett doubled with two out in the fifth and scored on Rollins' sixth homer to put the Phils up 4-3. The Phils scored twice in the first on a run-scoring double by Ryan Howard and an RBI groundout by Marlon Byrd.
Burnett threw 35 pitches in the first and gave up two runs. Casey McGehee hit an RBI single, and Marcell Ozuna walked on a two-out, 3-2 pitch with the bases loaded.
NOTES: Redmond's ejection was his first this season. ... The game took 3:30, longest of the year at Marlins Park. ... The Phillies began a stretch of 41 games in 41 days. ... Phillies RHP Kyle Kendrick (0-4, 3.96 ERA) tries for his first victory Wednesday against RHP Nathan Eovaldi (2-2, 3.62 ERA).