Jorge Cantu tied it with a single off Lidge (0-8), who blew his major league-leading 11th save.
"It's incredibly frustrating," Lidge said. "I'm disappointed. They hit the ball tonight. I'm a little bit at a loss. I'm sure there's some things I can do better."
The Marlins moved within 4 1/2 games of the wild card-leading Rockies, who lost to the Padres.
Lidge entered to start the ninth with a 6-5 lead and promptly gave up a double to Ross Gload, who advanced to third on Chris Coghlan's fly out. Lidge struck out pinch-hitter John Baker before walking Hanley Ramirez. Cantu then lined a single to left-center to score Gload and make it 6-all.
Carroll fell behind 0-2 before singling to center to score Ramirez.
"For us to keep crawling back after a rain delay and facing Madson and Lidge ... our guys just dug in the box and ground it out. It's special," Carroll said.
Phillies manager Charlie Manuel said the late-inning bullpen solution is simple: Lidge and Ryan Madson must do the job.
"Lidge and Madson, right now, that's what we've got in the back of our bullpen," Manuel said. "Lidge was our closer last year and we signed him to be our closer now. But he's struggled and it's hard for us to close a game out. It's tough."
Dan Meyer (3-1) pitched an inning of scoreless relief for the win in the soggy game.
A 45-minute delay in the middle of the eighth inning significantly thinned the announced crowd of 31,042. Florida has drawn more than that just seven times this season.
Ryan Howard doubled, homered and drove in four runs for the Phillies, whose magic number to clinch the NL East remained five.
Florida's 82nd win guaranteed the Marlins will finish with a winning record.
"Even if we don't qualify for the postseason, we had a great winning record this year," Cantu said. "We have been playing really great ball, and that's the bottom line."
The Phillies went ahead 6-3 in the seventh on Howard's two-run homer but pinch-hitter Gaby Sanchez homered off Cole Hamels in the bottom half and Cody Ross had a two-out RBI single in the eighth off Madson to make it 6-5.
Hamels gave up four runs and eight hits in seven innings. He struck out four and hit a batter.
Raul Ibanez's solo homer, his 33rd, tied it at 3 with one out in the sixth.
Florida took a 3-2 lead in the fifth.
Ross led off with his 24th home run. Ronny Paulino followed with a double to right-center and took third on starter Rick VandenHurk's sacrifice. Coghlan followed with a softly lined run-scoring single to left.
"Most of the time solo home runs don't beat you but those were mistake pitches [to Ross and Sanchez]," Hamels said. "I wish I could have them back. Cody's been able to hit my mistakes really well. Whenever I make a mistake it goes out of the yard."
Cantu's RBI single pulled Florida to 2-1 in the fourth.
Howard's two-out, two-run double in the third gave Philadelphia 2-0 lead.
VandenHurk allowed four runs and seven hits in six innings. He walked one, struck out five and hit two batters.
Ibanez has hit six HRs in last 17 games after hitting one homer in the previous 34 games. ... Jimmy Rollins' third-inning double tied Bobby Abreu for fifth place (585) on the team's all-time extra-base hits list. ... Sanchez's home run was Florida's eighth by a pinch-hitter this season to tie the team record set in 1999. ... Marlins manager Fredi Gonzalez was ejected for arguing after pinch hitter John Baker was called out on strikes for the second out in the ninth. It was Gonzalez's fourth ejection of the season. ... Phillies catcher Carlos Ruiz was not with the team after being sent home to undergo an MRI on his sprained left wrist. Phillies GM Ruben Amaro Jr. said test results showed no structural damage to the wrist. Amaro added Ruiz will rejoin the team in Milwaukee for a series beginning Thursday and was expected to return to the field within three to five days.
St. Louis Cardinals tie longest win streak of season with 13th straight
The St. Louis Cardinals tied the New York Yankees and Oakland Athletics for the longest win streak of the season with their 13th consecutive victory in Game 1 of a doubleheader on Friday.
Indians activate Shane Bieber from IL to start against White Sox
The Cleveland Indians have activated right-hander Shane Bieber from the 60-day injured list for a start Friday night against the Chicago White Sox.
Goldschmidt helps Cardinals beat Cubs for 13th straight win
— The surging St. Louis Cardinals soared to their 13th straight win Friday, using homers by Paul Goldschmidt and Tyler O’Neill to top the Chicago Cubs 8-5 in the opener of a doubleheader.
Tyler O'Neill smashes a 454-foot home run clear out of Wrigley
The Cardinals extend their lead to 6-0 over the Cubs as Tyler O'Neill demolishes a home run that leaves the stadium.
Chicago Cubs plan to be 'really active" in MLB free agency, says team president Jed Hoyer
Chicago Cubs president Jed Hoyer says his team is planning to be "really active in free agency" this offseason.
Tampa Bay Rays rookie Wander Franco returns from hamstring injury
Rays rookie Wander Franco was reinstated from the 10-day injured list Friday after missing two weeks with a right hamstring injury.