Nick Evans' three-run homer capped Arizona's four-run 10th inning.
Evan Marshall (3-2) pitched a scoreless ninth to earn the victory.
Marlon Byrd and Cody Asche homered for Philadelphia, which blew a four-run lead and has lost eight of its last 11 games.
Chase Utley had three hits and an RBI.
Ender Inciarte reached on a bunt single with one out in the 10th and went to third on Didi Gregorius' double to right off Antonio Bastardo (4-4).
Prado then lifted a fly ball to medium center field that was caught by light-throwing Ben Revere.
After an intentional walk to Paul Goldschmidt, pinch-hitter Evans broke the game open with a three-run shot to left.
This material may not be published, broadcast, rewritten, or redistributed.