Miller (10-6) scattered three hits, issued one walk and struck out six for the National League Central-leading Cardinals, who improved to an MLB-best 60-37 with their fourth win in five games.
Trevor Rosenthal tossed a scoreless eighth and Edward Mujica racked up his 29th save as St. Louis maintained a 1 1/2-game divisional lead over Pittsburgh.
Phils starter Jonathan Pettibone (5-4) was saddled with the loss, surrendering three runs on seven hits over five full frames.
Campus cop fatally shoots Texas student during traffic stop
Newt Gingrich fires back at Mandela backlash