Pujols tied the game at 2-2 with a two-out solo shot in the eighth inning, and Schumaker and Rolen put the game out of reach with homers in the 10th.
Atlanta had its chance to win, loading the bases in the bottom of the ninth, but Cardinals' reliever Ryan Franklin got Jarrod Saltalamacchia to line out for the third out.
Aaron Miles led off the top of the 10th with a single off Tyler Yates (2-2) and Schumaker made it 4-2 with a one-out home run. Pujols then walked and went to third on a single by Juan Encarnacion -- which knocked Yates out for Oscar Villarreal, who struck out Chris Duncan, but then served up a three-run shot to Rolen.
Jason Isringhausen (4-0) held the Braves hitless over the final two innings, striking out four.
Kelly Johnson hit a solo home run for the Braves.
Texas principal bans speaking Spanish, stirs controversy
Theater accidentally screens 'Nymphomaniac' trailer instead of Disney's 'Frozen'