Astros third baseman Chris Johnson wanted badly to atone for an error that had helped the St. Louis Cardinals to an early lead Saturday night. And atone he did. Johnson hit his first grand slam in the first inning, and the Astros beat the Cardinals 8-2 behind a solid start by right-hander Bud Norris to win a fifth consecutive game for the first time since late 2010.