The Phillies held a 7-1 lead after six innings but the Mets mounted a determined comeback, including a four-run seventh highlighted by Eric Young's two-run double.
New York forged a 7-7 deadlock in the top of the ninth on a Jordany Valdespin homer, and error by third baseman Michael Young and an RBI single by Daniel Murphy off Phillies closer Jonathan Papelbon (2-0).
But Philadelphia finally closed out the win when Frandsen socked a homer off Carlos Torres (0-1) leading off the bottom of the frame.
Ryan Howard went 3-for-4 with two solo homers and four RBI, and Young also went deep for the Phillies, who evened their three-game series.
Valdespin finished with three RBI and Omar Quintanilla went 3-for-4 with a run batted in for the Mets.