OAKLAND, Calif. -- Home runs are such a rare commodity for the Athletics that manager Bob Geren stood up and started celebrating when Josh Willingham's three-run shot sailed into the left-field stands Sunday.
Willingham's go-ahead homer capped a four-run fifth inning and propelled the A's to a 6-4 win over the Baltimore Orioles, completing Oakland's first three-game sweep this season.
"When he hits them, you don't even have to look," Geren said after Willingham's second homer in his last three games. "The sound of the ball off the bat, you just turn around and start high-fiving everybody."
It's only the fourth three-run shot of the season for Oakland, which has the third-fewest home runs (30) in the majors. Twenty-one of them have been solo drives.
Kevin Kouzmanoff added two hits for Oakland, which extended its longest winning streak this season to four games. The A's also continued their home dominance of the Orioles with their 12th win in 13 tries at the Coliseum.
"The clubhouse is completely different when you're winning," said Willingham, who also drove in Oakland's first run with a single. "We're playing more consistent baseball, and as a team that's all you can ask for is to be consistent in all three phases of the game and play up to your capabilities. I feel like we have been lately."
Oakland got a boost from two-time All-Star closer Andrew Bailey, who made his season debut after being sidelined with a strained right forearm. He pitched a scoreless seventh.
Vladimir Guerrero singled in the eighth to extend his hitting streak to 14 games, but the Orioles couldn't score against four relievers after putting up four in the fifth. They wound up dropping their third straight on the road after a five-game winning streak at home.
"That one inning we pushed four across. That's pretty hard to quarrel with," Baltimore Buck Showalter said. "But we had some other opportunities. We just didn't get it done."
Baltimore led 4-1 after loading the bases against Moscoso in the top of the inning -- then scoring four runs with only one hit.
Felix Pie had an RBI single that A's center fielder Coco Crisp appeared to make a diving catch on before the ball popped out of his glove after hitting the ground. Nolan Reimold, pushed into action when center fielder Adam Jones left with a sore shoulder, then drew a bases-loaded walk and Nick Markakis and Guerrero added run-scoring groundouts.
The loss of Jones left the Orioles without their leading run producer.
That's significant for a team that has struggled to score on this road trip. After getting four runs against Moscoso, Baltimore managed only two baserunners over the final four innings.
The A's got a lift from Bailey, who had been on the DL since March 30. The 2009 AL Rookie of the Year retired all three batters he faced as Oakland tries to ease him back into the mix.
"He looked good," Geren said. "I thought his stuff was pretty much normal. From the side it looked like vintage Andrew Bailey, which is a huge plus for us."
Oakland gave Bailey a 6-4 lead to work with after chasing Baltimore starter Zach Britton in the sixth. Daric Barton hit a sacrifice fly to drive in Mark Ellis after the O's intentionally walked Crisp to load the bases.
Britton (5-3) was tagged for career highs of six runs and 10 hits. The left-hander, who was attempting to tie Jake Arrieta for the team lead in wins, walked three and struck out three.
Willingham singled to drive in Barton in the first with the A's first run. In 16 career games against the Orioles, Willingham is batting .400 with four home runs and 12 RBIs.
Baltimore sent struggling RHP Brad Bergesen to Triple-A Norfolk and called up LHP Pedro Viola from Double-A Bowie. Bergesen (1-6) took the loss in Saturday's game. After the game, the team also optioned RHP Chris Tillman to Norfolk but did not announce a corresponding move. ... To make room for Bailey the A's optioned LHP Bobby Cramer to Triple-A Sacramento. Cramer was called up Friday when Oakland traded David Purcey to Detroit but did not pitch against Baltimore.