"I'd rather be lucky than good," said Braves closer Billy Wagner, who blew a ninth-inning lead and a save Wednesday, then got his sixth win after the Braves' 10th-inning outburst.
Omar Infante's double with one out in the 10th put the Braves ahead 3-2, and Alex Gonzalez added an RBI single with the bases loaded. Then McCann blew the thing wide open with his seventh grand slam and first as a pinch-hitter.
They had no one but themselves to blame for being in position to lose on a day when Tommy Hanson pitched seven dominant innings. But in the end, as they have done so many times this season, the Braves bounced back.
"We've had a team this year that's won a lot of games in the last at-bat," said McCann, referring to the Braves' major league-leading 19 wins in their final at-bat, including the past two games.
Hanson continued a run of superb pitching that hasn't translated to wins. He was charged with one unearned run, two hits and two walks with five strikeouts, lowering his ERA to 0.99 over his past four starts.
"I definitely had some of my better stuff today," Hanson said. "Even warming up, my slider and my curveball felt really good, and I felt good command-wise with my fastball."
He's only 1-0 his past four games, despite allowing one earned run in each.
"The guy was on," Astros manager Brad Mills said. "He was throwing the ball extremely well. That's tough for anybody."
The Astros are thankful he's not in their division: Hanson has a 0.78 ERA in three starts against them, with two earned runs and 11 hits allowed in 23 innings.
"For how young he is, normally you don't see pitchers come up and locate as well as he does," Astros right fielder Hunter Pence said. "You just don't get any balls that aren't on the corners. He's got great stuff; he's a difficult at-bat."
After the Braves got two hits and three walks (two intentional) in the 10th inning against reliever Brandon Lyon, the Astros replaced him with another right-hander, Jeff Fulchino.
McCann, pinch-hitting for Matt Diaz, greeted Fulchino by blasting a 2-0 pitch to the right-field seats. It was his second grand slam this season and the Braves' third pinch-hit slam.
"When you rest guys like McCann, they're great weapons to have," Cox said of his All-Star catcher, who has seven homers and 24 RBIs in his past 20 games. "You can use them any time you want. I've often said that. It paid off today."
After Jonny Venters pitched a scoreless eighth inning, Wagner came on in the ninth. Trouble started when Pence led off with a chop single over third base, and Carlos Lee singled on the next pitch to put runners on the corners with none out.
A sacrifice fly tied the score and gave Wagner his seventh blown save in 35 opportunities, including four in his past 10 chances.
As they have done a few other times, the Braves turned a blown save into a win for their veteran closer.