The Twins gave Swarzak a 1-0 lead to work with after Joe Crede -- back in the lineup after missing three games with a right sore hand -- homered to left off Red Sox starter Josh Beckett in the second inning.
But after pitching 11 scoreless innings to start his career, Swarzak ran into Jason Varitek.
Boston's catcher belted two solo home runs off Swarzak, helping the Red Sox capture the lead.
The first of Varitek's blasts came in the fifth, as he lifted a changeup from Swarzak to right center to lead off the fifth. Varitek's ninth homer of the season pulled the Red Sox even with the Twins at 1.
After feeding Varitek a changeup in the fifth, Swarzak tried his fastball two innings later. Same result.
The veteran catcher again got the best of the young starter, turning on the fastball and going to deep right center for his second solo shot of the game.
"I tip my hat to Varitek -- he's a great hitter," Swarak said. "Since we're not facing him anymore this year for the rest of the regular season, maybe I'll have a talk with him and see if I'm tipping my pitches or something."
"I thought our young man threw the ball very, very well," Twins manager Ron Gardenhire said. "That's a good performance against a very good team over there."
Swarzak was called up to the Twins when starter Glen Perkins was put on the disabled list with a left elbow injury. Whether or not Swarzak will earn another start before Perkins' return remains to be seen, but Gardenhire has been pleased with what he's gotten out of the rookie.
"He did a little bit of everything, and that's two times in a row," Gardenhire said "Very impressive. The young man's coming up here on a mission. He's throwing the ball, which we need. That's a good performance. You hope that he can carry on."
Swarzak's counterpart was lights-out for Boston. Aside from the Crede home run, Beckett pitched seven strong innings, striking out eight Twins and allowing just three hits as he picked up his fifth victory of the year.
The top of the Twins especially had trouble against Beckett. Leadoff hitter Denard Span struck out twice against him -- three times total on the day -- and Beckett was also able to fan designated hitter Joe Mauer and first baseman Justin Morneau once each.
"I think over the last few years, his changeup's gotten a lot better," said Morneau, who went 1-for-3 against Beckett with a walk and a strikeout. "He's pitching more now instead of relying on being able to blow everyone away. When he can throw those off-speed pitches over, it makes it tough because you can't just stay on the fastball."
"Beckett was really, really good -- really tough on us," Gardenhire said. "He made it tough to score runs against him."
Boston added one more run in a very eventful seventh inning. Jeff Bailey doubled after Varitek's solo blast, and moved to third on a sacrifice by Julio Lugo. Second baseman Dustin Pedroia's one-out fly ball to right allowed Bailey to tag from third, just avoiding the tag by Twins catcher Mike Redmond.
Thinking he made the tag, Redmond quickly jumped up to plead his case with home-plate umpire Todd Tichenor. Redmond was ejected shortly thereafter -- the first time in his 11-year career -- which also brought the ejection of Gardenhire.
"It was a close play," said Redmond. "I thought I got him."
In the bottom half of the seventh, it was Boston's turn. Varitek was tossed by Tichenor for arguing balls and strikes, and Red Sox manager Terry Francona followed him out the door when he tried to defend Varitek.
Boston's Jonathan Papelbon recorded his 13th save of the season. He faced four Twins batters in the ninth.