DETROIT (AP) -- Brendan Harris has been swinging like a middle-of-the-order slugger over the last month. A last-minute position change was hardly enough to sway him from his routine.
Harris went 3-for-3, homered and drove in a season-best four runs Saturday to help the Twins beat Detroit for the third straight day, 6-5.
"Sometimes it's hard because you have to prepare differently," said Harris, who moved to shortstop from third after Nick Punto was a late scratch. "But I knew I was already playing. I've been swinging the bat pretty good lately and today was a good day."
The infielder, part of a six-player deal that sent pitcher Matt Garza to Tampa Bay, was hitting a paltry .232 through June 17. Since then, he's hitting .357 in 21 games with three homers and 14 RBIs.
Joe Mauer, the starting catcher for the AL All-Star team, added a two-run home run to help the Twins improve to 21-6 since June 13, the majors' best record in that span.
Harris singled in the Twins' first two runs and opened the seventh inning with a solo shot off Tigers starter Nate Robertson (6-8) that give Minnesota the lead for good.
Minnesota's Scott Baker (6-2) allowed four runs and six hits in seven-plus innings and won for the fourth time in five starts. All-Star closer Joe Nathan had three strikeouts in the ninth for his 27th save in 29 chances.
"Baker was very good and our bullpen came in and got the outs they needed to," said Twins manager Ron Gardenhire, whose team won a one-run game for the third straight day.
"It was another good win."
The victory was Minnesota's fifth straight against the Tigers. The Twins have won eight straight division games and are 27-16 against Central foes this season.
Nathan's save was his 26th in as many career chances against Detroit, the most without a blown save against one opponent among active relievers, according to the Elias Sports Bureau. The right-hander was a lot happier his team won.
"To be able to win and pitch as well as we have as a bullpen is great," he said. "It always seems like a battle when we play Detroit."
The Tigers are 4-10 against Minnesota and 13-24 against AL Central teams. Detroit manager Jim Leyland, who lamented the Tigers' offensive inconsistency before the game, found a familiar culprit.
"They did just enough and we didn't do enough. That sums up the game," he said. "We had plenty of scoring opportunties, but couldn't get the big hit."
After RBI singles by Harris in the second and fourth gave Minnesota a 2-0 lead, Matt Joyce tied the game for Detroit with his eighth homer of the season, a two-run shot that landed a few feet inside the right-field foul pole.
Down 6-2 in the eighth, the Tigers pulled to 6-5 on Curtis Granderson's two-run homer and pinch-hitter Ryan Raburn's RBI groundout. But reliever Brian Bass came on and stranded the tying run at third when he induced an inning-ending grounder by Marcus Thames.
Robertson allowed five runs and 10 hits in seven innings. He hasn't won since June 21.
"We're in a tough spot right now," the lefty said. "There's plenty of baseball left but we just aren't doing enough right now."
The Twins scratched Punto (strained left ring finger) from the lineup shortly before the start of the game. The club said the injury is not serious. ... Leyland said he expects OF Magglio Ordonez (oblique) and SS Edgar Renteria (hamstring) to be ready to play when the Tigers resume the season Thursday at Baltimore. ... Twins OF Carlos Gomez ended an 0-for-21 streak with a fifth-inning single.