"The guy has punched me out every time he's faced me," McCann said.
McCann finished with three hits, including a three-run homer in the first, and matched his career high with five RBI.
Before driving in the go-ahead runs, McCann was 0 for 5 with four strikeouts against Pinto. He came to the plate with runners on second and third and one out.
An intentional walk to McCann would have loaded the bases, setting up a possible double play. McCann said he figured Florida manager Fredi Gonzalez was aware of his poor track record against Pinto.
"I don't see that guy good at all, so I would have done the same thing if I was managing," McCann said.
"He hits a bullet right through 'em," said Braves manager Bobby Cox.
The Braves won two of three against the Marlins and have won five of their last six series.
Adam LaRoche, perhaps the Braves' hottest hitter, was waiting to hit behind McCann.
"It's pick your poison," Gonzalez said. "You have to pick your spots. ... You hate putting a guy on. You never know what's going to happen. There could be another walk."
Matt Diaz had four hits, including a seventh-inning triple off Kiko Calero, to help the Braves move past Florida for second in the NL East. Rookie Reid Gorecki's sacrifice fly to right field drove in Diaz, tying the score at 5-5.
"We don't really get down. We have a mentally tough team," Diaz said. "We have a lot more confidence this year than we have in the past."
Calero (2-2) was pulled after walking Infante in the eighth. He surrendered two runs in one inning.
Ronny Paulino's three-run triple in the fourth gave Florida a 5-3 lead.
Florida pitchers issued eight walks, and Ricky Nolasco's free passes to Johnson and Chipper Jones in the first inning set up McCann's three-run homer. Infante and Johnson walked before McCann's big hit in the eighth.
"He couldn't get the outs he needed," said Gonzalez of Nolasco. "Those first two walks hurt him. And those last two hurt us bad."
Florida scored two runs in the second. Dan Uggla singled and scored on a double by Cody Ross, who moved to third when McCann missed the throw to the plate for an error. Ross scored on Paulino's double-play groundout.
The Marlins loaded the bases off Derek Lowe in the fourth. Following one-out singles by Uggla and Ross, Jeremy Hermida hit a grounder to shortstop Yunel Escobar to set up a possible double play. Johnson dropped Escobar's throw at second for an error, leaving the bases full.
Paulino followed with a three-run double to center for a 5-3 lead.
Lowe yielded nine hits and five runs, three earned, in five innings, while Nolasco gave up nine hits and four runs in 4 1/3 innings.
"It wasn't pretty," Nolasco said. "I can't remember the last time I walked two guys in a row."
Cox had a limited bench. Outfielders Garret Anderson and Ryan Church, who have sore backs, hope to return after an off day Monday. Second baseman Martin Prado (exertional headaches) missed his fifth game in a row.
Cox called on pitcher Javier Vazquez as a pinch hitter in the eighth. He struck out.
- McCann drove in five runs for the fourth time in his career.
- RHP Cristhian Martinez threw 1 2/3 scoreless innings. Martinez was recalled from Double-A Jacksonville to replace RHP Brendan Donnelly, who was placed on the disabled list with a right calf strain.
- Marlins 1B Nick Johnson (sore right hamstring) missed his seventh consecutive game.
- RHP Tim Hudson surrendered six hits and three runs in six innings in his injury rehab start for Triple-A Gwinnett against Charlotte.
- The Braves have hit home runs in nine consecutive games.