OAKLAND -- On Tuesday night, the Twins watched their designated hitter put together a dominant performance against the A's starter en route to a victory.

One night later, the team saw the A's DH, who has a history of doing his own damage against the Twins, provide a similar offensive spark.

Mike Sweeney, a former division nemesis of the Twins when he was with the Royals, went 2-for-3 with a home run and two RBIs in Minnesota's 3-0 loss to Oakland at McAfee Coliseum on Wednesday night.

"Sweeney seems to have some good swings against us," Twins manager Ron Gardenhire said. "We pitch him inside, we pitch him outside. It's a bullet to right and it's a home run. Sweeney is a good hitter, always has been a good hitter, and when he's healthy and has a bat in his hand, he's very dangerous."

Sweeney's solo home run in the eighth inning off reliever Matt Guerrier capped a solid day at the plate. But he did more than just hit.

He drew a leadoff walk off Twins starter Boof Bonser in the second inning. It led to a run when Emil Brown delivered a sacrifice fly to center later in the inning.

Sweeney helped add to that lead in the third with an RBI single to right field. It came after Bonser issued a two-out walk to Daric Barton, who advanced to second on Mark Ellis' single to left field.

Following his solo homer late in the game, the right-handed slugger now has a total of 104 career RBIs against the Twins. It's the most he's had against any team in his career.

"Most of the years I was in Kansas City, they were the Yankees of the [American League] Central, and you have to gear up for the better teams, so you had to get excited for them," Sweeney said of his success against the club. "They might be in a rebuilding year right now, but they're still the Minnesota Twins."

Sweeney provided a source of some problems for Bonser, but mostly his troubles were due to his high number of walks on the night. The right-hander totaled four over his six innings, while allowing just two runs.

It was the third quality start for Bonser on the season, but afterward he seemed more frustrated about his penchant for issuing free passes to the A's hitters.

"I know how many I had, and it's just unacceptable," Bonser said.

Bonser seemed to turn things around in the start of the fourth. He recorded a 1-2-3 inning and then allowed just two runners to reach over the next two innings, both on walks.

"I had some mechanical problems that we finally figured out in the fourth there and that got me rolling," Bonser said. "I don't know. It was just like I was rusty a bit, I guess."

Bonser wasn't helped by the fact that the Twins couldn't get any offense going.

A's starter Chad Gaudin pitched seven shutout innings, limiting the Twins to just four hits.

The Twins started things off well with a leadoff infield single by Denard Span in the first. But it quickly went south. Matt Tolbert grounded into a 4-6-3 double play and from there, Gaudin cruised -- mostly thanks to a dominant two-seam fastball that had its share of sink to it.

"His ball was moving so doggone much, the ball looked like it would be a good pitch to hit and then it would dive," Gardenhire said. "And we rolled over a lot of pitches. ... We've got some guys that hit a little bit and he didn't give us too many good swings."

After Joe Mauer reached on an error by shortstop Bobby Crosby with two outs in the first, Gaudin retired 11 straight batters before giving up a single to Jason Kubel in the fifth. The right-hander did not issue a single walk and had thrown just 58 pitches through six innings before getting into a bit of a jam in the seventh.

It was Kubel who helped provide the Twins only other legitimate scoring threat in the seventh. After Delmon Young hit a two-out single to left, Kubel came to the plate. It looked like Kubel may have knotted the game during the at-bat when he hit a deep fly ball to right field, but a gusty wind coming from left field blew the ball just foul.

"Heck, he killed it," Gardenhire said. "We knew it was a homer if it stayed fair. It was close. It just didn't stay fair."

Kubel then singled to right field and both runners advanced on a fielding error by right fielder Brown. But with the tying run at second base, Craig Monroe then popped up to shortstop to end the inning.

The Twins made one more attempt at putting a run on the board in the ninth off A's closer Huston Street. But the team stranded Joe Mauer at third when Young struck out and Kubel flew out to left to end the game.

For Bonser, run support has been a big problem already this season. It was the fifth consecutive start by Bonser in which the Twins were unable to score more than three runs.

"It's tough," Kubel said about the team's inability to deliver more runs. "I think that's happened pretty much in all of Boof's games. We just aren't able to really get it going. We've had a couple of games where we scored a lot of runs, but the close ones where our pitchers really keep us in the game, we can't get it done. But it's not going to happen all the time."