St. Louis second baseman Aaron Miles saved the bullpen by pitching the ninth and he retired all three men he faced.
Philadelphia accumulated 21 hits while reaching the 20-run mark for the second time this season.
Chase Utley, Ryan Howard and Pat Burrell all hit solo homers in the first inning off Todd Wellemeyer (7-2) and Howard added a three-run blast in the sixth. Utley ran his home run total to 22 for the season.
Philadelphia sent 15 men to the plate in the fourth inning, scoring nine runs on three doubles, four singles, five walks and a sacrifice fly. They left the bases loaded.
Kyle Kendrick (6-2) was the beneficiary of the onslaught, giving up two runs on eight hits in seven innings.