The homers were hit in the bottom of the fourth, with Phillips hitting a solo blast and Encarnacion belting a two-run shot.
Encarnacion and Jose Valentin hit RBI singles in the sixth. Three players had two hits each.
Bronson Arroyo and four relievers combined to hold St. Louis to an earned run on nine hits as the Reds won their second game in a row. Arroyo (9-14) gave up a run on six hits in six innings with no walks and five strikeouts. Relievers Mike Stanton, Gary Majewski, Jared Burton, and David Weathers mopped up.
St. Louis scored its lone run on Ryan Ludwick's sixth inning single. Jim Edmonds had three of the nine hits for the Cardinals, who have lost six in a row.
The losing pitcher was starter Anthony Reyes (2-14).