McCann quickly put an end to the streak of futility when he hit a grand slam to left-center off Alfredo Figaro. Chris Johnson and Jordan Schafer added solo shots for the Braves, who went on to a 7-4 victory.
"I usually don't hit the home runs over that way, so I've been working hard to stay on the ball and today, luckily, I put a good enough swing on it to go out that way," McCann said.
Beaten 2-0 by the Brewers on Friday and Saturday, the Braves received a much-needed offensive lift from McCann when he connected for his 10th career slam.
"That was big for us," Atlanta manager Fredi Gonzalez said. "If anything, to get ahead and get four runs and then tack on a couple later on and win the game was big. Games like this, they say hitting is contagious. Hopefully, it catches a couple of guys and keeps going."
Brewers outfielder Carlos Gomez sprained his left shoulder when he fell awkwardly near the center-field wall while making a leaping catch of Andrelton Simmons' drive in the fourth. Gomez, hit in the left knee by an earlier pitch from Paul Maholm, immediately left the game clutching his shoulder.
Milwaukee manager Ron Roenicke said there is no immediate plan to put Gomez on the disabled list.
"Hopefully, it's not going to be too bad," Roenicke said. "It could be a couple days, it could be a week. We'll know more tomorrow when they take a look at him."
Gomez was confident he won't miss much time.
"I can move my shoulder. I don't think it will take a lot of time before I'm back to playing. In a few days, I'll be fine. Probably tomorrow I'll be a little bit sore. I felt my shoulder pop out and come back. I got lucky that it came back."
Gomez said he injured the shoulder when bracing himself as he fell near the outfield wall.
"When I jumped I expected that the wall was (closer) to me," he explained. "When I jumped I stayed in the air for a long time. I thought I was going to hurt my head and my neck."
He said the team's medical staff told him an MRI isn't necessary at this point.
Gomez also was sporting a bruise on his knee from being hit by a pitch.
"I think my knee hurt more than my shoulder," he said. "There's a little bruise. It's right on the bone."
Gomez broke his left clavicle in a game at Arizona in 2011. He is hitting .312 with 12 home runs, 37 RBIs and 15 stolen bases.
Brewers catcher Jonathan Lucroy said he was relieved to hear about the initial prognosis Sunday.
"I thought he broke his collarbone again. They showed the replay on it and it looked terrible," Lucroy said. "I'm glad to hear that it's just a sprain. He's a big stick and an important part of our team and our lineup."
The Braves, who lead the NL East despite getting shut out a major league-high 11 times this season, snapped an eight-game losing streak at Miller Park dating to April 2011.
McCann reached base safely four times in five trips to the plate.
Johnson led off the second with an opposite-field homer to right field. A leadoff drive by Schafer in the fourth extended the lead to 6-0.
Schafer had four hits in five at-bats, including a double.
"That's what he can do for you -- give you that spark," Gonzalez said. "You can pretty much put him in any of those positions in the outfield and he's a plus defender. He can beat you with his legs or hit one out of the ballpark like he did today."
McCann also offered high praise for Schafer's performance.
"I can't say enough good things about that guy," McCann said. "He comes back here for his second stint and I think he's understanding what he can and can't do on a baseball field. He's staying within himself and you're seeing this guy has got tools and we're starting to see them on a nightly basis."
Milwaukee scored four times off Maholm in the fifth. Logan Schafer's one-out single drove in two. Lucroy followed with a two-run homer to straightaway center.
Atlanta added a run in the ninth on Dan Uggla's RBI single.
Five Braves relievers held Milwaukee scoreless over the final four innings. Craig Kimbrel earned his 21st save in 24 attempts.
The Brewers loaded the bases with two outs in the seventh but pinch-hitter Juan Francisco, acquired in a trade with Atlanta this month, popped out in foul territory to end the threat.
Maholm (8-6) entered 3-11 with a 5.12 ERA against the Brewers and had lost six consecutive decisions to them over eight starts. His last win against Milwaukee Brewers came in 2009.
This time, he gave up four runs and eight hits over five innings while walking one and striking out three.
"The offense was the big thing today," Maholm said. "I pitched well for four innings and then gave up some runs, but it's good for the team to leave here with a win."
Figaro (1-2) lasted 3 1/3 innings, giving up nine hits and six runs. He struck out four and walked three.
It marked the second consecutive poor outing by Figaro, who allowed four earned runs and five hits in 4 1/3 innings of a 10-1 loss at Houston on Tuesday.
"He wasn't locating his pitches," Roenicke said. "He was up in the zone with his fastball and couldn't command the off-speed pitches. He can't pitch that way."
In recognition of Polish Heritage Day, Milwaukee sported red caps and white jerseys with red accents and blue and gold lettering with the name Piwowarzy, which means Brewers in Polish, across the front. ... Milwaukee 3B Aramis Ramirez was given a day off to rest a balky knee. Jeff Bianchi started in his place. ... OF Justin Upton was out of the Braves' lineup again with an injured right hand. ... Milwaukee 2B Rickie Weeks has a hit in 16 consecutive starts. ... The Braves travel to Kansas City for a two-game series that begins Tuesday, marking the first meeting between the teams at Kauffman Stadium. The Royals are the only team the Braves have yet to visit since the start of interleague play in 1997.