The Reds were leading 4-2 when they broke the game open with four runs in the seventh, all with two out, triggered by Phillips' solo shot off reliever Brandon Dickson.
Mike Leake (6-8) earned the victory despite yielding 10 hits over 6 2/3 innings. The right-hander allowed two runs, didn't issue a walk and struck out three as the Reds evened their three-game series.
Cardinals starter Jaime Garcia (3-5) gave up four runs on seven hits through six frames.
Mike Carpenter got the only RBI for wild-card contender St. Louis, which saw its four-game winning streak snapped.