"It was a long day, a tough day and probably about as tough a loss as you'll have," manager Ron Gardenhire said.
Perkins threw 24 pitches to three batters, including a 14-pitch duel with White Sox slugger Jose Abreu that yielded a walk to lead off the inning. The closer then forced a fielder's choice from Avisail Garcia before giving up the homer to Viciedo.
"That's tough when you start an inning out like that," said Perkins, who hadn't pitched since Sept. 4. "I'm trying to get out of there as quick as I can, and the first guy I see is 14 pitches, and I don't get him out. It's tough. Got the next guy quick, but Viciedo worked me good and got a fastball. I was trying to throw it down and away like I did to Garcia, and it stayed out over the middle and he hit it.
"We played good enough to win tonight, and it's frustrating that they got the ball to me and I didn't get the job done."
Pinch-hitting Kurt Suzuki put the Twins in front, 6-5, in the top of the ninth with a two-out double that scored Aaron Hicks, who led off with a single, moved to second on a sacrifice bunt and to third on a double by Chris Parmelee, who was out trying to get to third, not realizing Hicks waited to see if the ball was caught.
In the seventh, White Sox pinch-hitter Conor Gillaspie tied the game at 5 with an RBI single to center after Trevor Plouffe gave the Twins a 5-4 lead with a solo home run in the sixth, one of five homers in the game. Abreu tied the game at 4 with a solo shot in the fifth off starter Logan Darnell, who allowed four earned runs on seven hits and two walks with five strikeouts over 4 1/3 innings.
"I think I was just trying to be too fine," Darnell said. "Then I got behind and I had to throw one over, and [Abreu] will make you pay. But I was just trying to be too perfect with him because I walked him in the first inning then hung the changeup to Garcia right after him. He's good, especially if he's got the count in his favor."
The Twins took a 4-0 lead in the first with an RBI single by Plouffe and a three-run homer by Oswaldo Arcia in consecutive at-bats. Garcia trimmed the margin to 4-3 with a three-run homer in the bottom of the frame.
Each team had just one hit over the next 3 1/2 scoreless innings before Abreu tied the game and picked up his 100th RBI on his homer, his first since Aug. 22. Abreu went 4-for-6 with three extra-base hits and two walks in the doubleheader.
"The thing I'm most thankful for is this organization for the opportunity to play this game at this level," Abreu said through an interpreter. "I'm happy about 100 RBIs, I'm happy about 34 home runs. I'm just happy how I've been able to do this season. I'm happy my family is here with me. I'm happy for my success."
White Sox right-handed starter Scott Carroll left the game after five innings with a torn fingernail on his pitching hand. Carroll allowed four earned runs, four hits and two walks with two strikeouts.
Chicago closer Jake Petricka was credited with the win despite giving up the go-ahead hit to Suzuki.
In Game 1, Phil Hughes struck out a career-high 11, but the Twins couldn't support him. Hughes was charged with all five Chicago runs, three earned, on six hits and a walk, tossing 106 pitches over seven-plus innings.
The doubleheader set a Major League record for most combined strikeouts (45) in games that didn't exceed nine innings.