CHICAGO -- Brian McCann picked up where he left off before the All-Star break.
McCann hit his third homer in as many games to put Atlanta ahead and Tim Hudson (7-7) earned his third straight win to give the NL East-leading Braves a 6-4 win over the Chicago White Sox on Friday night.
After homers in his last two games before the break, McCann slammed his 13th homer in the sixth inning, a three-run shot that broke open a 2-2 game. McCann also homered in three straight games last season, from July 18 to 21.
"I've been feeling good for a while now," McCann said. "I think it takes every player in baseball four, five innings to get back into the swing of things when you take four or five days off. It was nice to get a win in the first game back."
Hudson, meanwhile, shined in his third start after a 10-start winless streak. He pitched 7 1-3 innings, giving up four runs on eight hits while striking out four and walking two. Craig Kimbrel pitched the ninth for his 27th save in 29 outings.
"It's been a while since I've gotten a win here, about 15 years," Hudson said with a laugh. "I don't think I have a lot of games pitched here, but when I have pitched here it hasn't been too pretty at times. It's nice to finally get in the right column."
White Sox starter John Danks (2-7) took his seventh loss in his last 10 starts. Danks pitched seven innings, allowing five runs on seven hits, including homers by McCann and Andrelton Simmons. He struck out four and walked none. Danks also uncorked a wild pitch before McCann's homer.
"I wasn't quite as sharp as I would've liked," Danks said.
Atlanta, which lost two of three before the All-Star break, snapped a five-game interleague losing streak to the White Sox.
It was Chicago's eighth loss in its last 11 games, 22 of 31 and 32 of 45. The White Sox are 19 games under .500 for the first time since Sept. 27, 2007, when they were 70-89.
Atlanta took a 2-0 lead in the third inning. Chris Johnson, who had three hits in the game, led off with a single and scored on Simmons' ninth home run, to left field.
Chicago tied the game in the bottom of the third. Gordon Beckham led off with a single, but was forced at second on a fielder's choice to Josh Phegley. Alexei Ramirez singled, his first of three hits, advancing Phegley to second, and then Alex Rios followed with a two-run double deep to right-center.
White Sox manager Robin Ventura pulled Rios out of the game after the sixth because he felt his player didn't give full effort running to first in that double play.
"We just expect more than that," Ventura said. "There is just expectations and we are not starting the second half off that way. It was simple, he will back in (Saturday). Tonight, that's what happens when you don't run."
The Braves broke the game open with a three-run sixth. Joey Terdoslavich and Justin Upton both had singles and then advanced to second and third on a wild pitch by Danks. McCann then hit a two-out, 3-2 pitch for his 13th home run, giving the Braves a 5-2 lead.
"I made a bad pitch. It kind of got to a point, for lack of a better way to put it, I ran out of things to throw to him," Danks said.
Chicago scored two runs in the eighth to get within 5-4. Alejandro De Aza led off with walk and stole second and scored on Ramirez's RBI double to left. Jeff Keppinger's bloop single to right scored Ramirez.
The Braves added an insurance run in the ninth when Upton singled off White Sox reliever Matt Lindstrom, went to second on an infield out and scored on Johnson's single to right.
"We got some timely hits, the three-run homer there, the two-run homer by Simmons that put us on the board and then that nice at-bat with Chris Johnson getting in that extra run in the ninth," Braves manager Fredi Gonzalez said.
- White Sox RHP Jake Peavy (6-4, 4.30) was activated off the disabled list before the game and will start Saturday against lefty Paul Maholm (9-8, 3.98). Peavy had been sidelined since June 5 with a rib he fractured June 4 at Seattle.
- Braves RF Jason Heyward remains out with a strained right hamstring he injured July 11 against the Reds. "He's making a lot of progress," Gonzalez said. As for 1B Freddie Freeman, out with a jammed thumb since July 13, "Hopefully he's good tomorrow," Gonzalez said.
- Braves RHP Brandon Beachy made his third rehab start Friday at Triple-A Gwinnett (Ga.). He's recovering from Tommy John surgery.
- White Sox RHP Jesse Crain threw on the sideline Friday and hopes to return from a strained right shoulder in about a week. He's been on the DL since July 3.
- White Sox OF Dewayne Wise was returned to Triple-A Charlotte due to a strained right hamstring. The White Sox also signed INF Travis Ishikawa and assigned him to Charlotte.