The contest was halted after the Cardinals had batted in the top of the seventh. With showers expected for the rest of the night, the umpires eventually brought an early conclusion to the game.
Philadelphia ended a four-game losing streak.
Mayberry's two-out double brought home the first run of the opening inning and the Phillies then got a break when St. Louis third baseman Ty Wigginton made a throwing error on a grounder that should have ended the inning.
Two runs scored on the error, after which Ben Revere tripled home a run and Hunberto Quintero doubled in another.
Roy Halladay (2-2) went all seven innings for the Phillies, giving up two runs on two hits with six strikeouts.
Jamie Garcia (1-1) endured the difficult first inning and wound up allowing eight runs, four of which were earned, to take the loss.