Jermaine Dye also homered for the White Sox (43-22) who overcame a 6-1 deficit to extend the best record in the major leagues.
Despite a sub-par performance, Garland improved to 11-2.
"I probably shouldn't have but it worked out to my advantage," he said. "The guys came up big with the bats and they were hitting the ball well."
Especially in the sixth when the White Sox sent 13 hitters to the plate in their biggest inning since April 18, 2000, when they scored 11 runs against Seattle.
"It kind of (happened) out of nowhere," Konerko said. "We weren't really doing too much with the bats the last couple of days, but I really don't know where it was other than we just busted out. We hadn't really had an inning like that all year, so it came at the right time."
Garland gave up six earned runs and six hits in six innings. He struck out four and walked three. He lasted just long enough to take advantage of the big inning.
"Early this year when I have been missing I have been missing away from the plate; today I missed over the plate with a lot of stuff. They got me," said Garland, who gave up a season-high three home runs.
"We've got to finish it out, we didn't. We gave up a big inning. Ten runs is a big inning," Diamondbacks manager Bob Melvin said.
In the sixth, the White Sox hit the three homers and scored 10 runs to take a 12-6 lead.
Thomas homered off starter Russ Ortiz (4-6) with one out in the sixth, his fourth in just 21 at-bats since returning from a foot injury.
Poor defense from Arizona contributed to the big inning that followed.
With the infield in, Crede hit a grounder to Clayton. Dye, the runner on third, stopped halfway to home. Clayton appeared confused where to throw the ball, pumped toward home and then first, and Dye scored without a throw, tying the game at 6.
Clayton said a wet ball factored into the problems.
"I should've went with my first instinct and thrown the ball home," he said. "I didn't think I had much of a chance (at first) with the ball conditions, getting a grip on the ball and throwing across the diamond to get Crede."
Uribe then finished off Ortiz with a three-run shot to left for a 9-6 lead.
Melvin thought a lot of bad luck had to do with Ortiz's struggles.
"He gives up three ground balls. He should be out of the inning," Melvin said. "It happened in a hurry and it looked like he made some decent pitches there."
Tracy had two hits and was 7-for-13 in the series.
Clark's homer was his 11th of the season and gave Arizona a 6-1 lead.
Ortiz gave up nine runs, seven earned, and seven hits in 5 1/3 innings. He has lost his last four decisions and has not won since May 18 at Houston.
- Aaron Rowand robbed Luis Gonzalez of an extra-base hit with a running catch against the center field wall in the first.
- Konerko extended his hitting streak to 12 games.
- Clark had 16 home runs last season for the Yankees.
- The last time the White Sox hit three home runs in an inning was June 8, 2004, against Philadelphia.
- Thomas left the game early with a cramp. White Sox manager Ozzie Guillen thought Thomas could have stayed in the game if it was closer.