McCann has been mired in a season-long slump and his average is still an unsightly .179. The Tigers catcher worked this week on eliminating his usual leg kick and it paid quick dividends.
"It's just being more consistent," said McCann, who scored two runs and drove in two more. "You look at guys like Miggy and Victor, who are consistent day in and day out, and their feet are always on the ground. I'm not saying the leg kick doesn't work but where I'm at, for timing purposes, I felt like it was time to limit my movement."
McCann fell a double shy of a cycle in his first three-hit outing this season.
"He kind of had a revelation mechanically," Detroit manager Brad Ausmus said. "Part of the reason we gave him two days off in a row was to work on that."
Martinez also had three hits, including a solo shot, and drove in two runs. Ian Kinsler supplied two hits, two runs scored and two RBIs for Detroit, which had lost five of its last six
Winning pitcher Jordan Zimmermann (8-2) made his first start since suffering a mild groin strain on May 22. He gave up two runs on five hits in 5 2/3 innings.
"I felt fine the whole game," Zimmermann said. "I didn't have any issues. Obviously, in the back of your mind after you have 13 days off and a groin injury, you're always wondering if the next pitch is going to be the pitch where you feel it again. But I didn't feel anything."
Cabrera left the game during the seventh inning with lower back tightness. Cabrera had an RBI single earlier in the inning before removing himself after he reached third base.
Ausmus is hopeful that Cabrera will play on Saturday.
"I'll check with him in the morning but he said he thought he'd be fine," Ausmus said.
Jose Abreu had two hits and drove in a run for the White Sox. Losing pitcher Carlos Rodon (2-5) was charged with four runs on seven hits in six innings.
Rodon gave up the home runs to McCann and Martinez.
"Early on, Carlos was a little erratic," White Sox manager Robin Ventura said. "He seemed to calm down at one point but the homers got him."
Relievers Tommy Kahnle and Matt Purke gave up six runs on seven hits with four walks in the seventh and eighth innings.
"At that point, you're down a few and they have to cover the rest of the game," Ventura said. "At least we got through it. That kept us from overextending everybody else."
Abreu's one-out, opposite-field double in the sixth cut Detroit's lead to 3-2.
The Tigers got that run back in the bottom of the inning on McCann's two-out, bloop hit, which brought home J.D. Martinez.
Detroit tacked on two more runs in the seventh against Kahnle for a 6-2 lead. Cabrera and Victor Martinez had RBI singles.
The Tigers added four more runs in the eighth against Purke, including run-scoring singles from Kinsler and J.D. Martinez.
NOTES: White Sox LF Melky Cabrera was placed on the Family Emergency Leave List and will miss the weekend series. Cabrera is batting .275 with four homers and 24 RBIs. "We're hoping to get him back Tuesday," Chicago manager Robin Ventura said. ... The White Sox recalled RHP Tommy Kahnle, who has appeared in four games over three stints, from Triple-A Charlotte. ... White Sox CF Austin Jackson remained out of the lineup with a turf toe injury that he suffered on Sunday. "He says he's feeling better," Ventura said. "We've got three days here, so we can go day-to-day until we get to the off-day (Monday)." ... Tigers 3B Nick Castellanos was not in the lineup after striking out four times against the New York Yankees on Thursday. "He could use a day off," manager Brad Ausmus said. ... Detroit is 0-26 when it trails after the eighth inning.