AP, New York
Dan Haren pitched a six-hitter for his first complete game this season and the Oakland Athletics homered twice off an inconsistent Randy Johnson to beat the New York Yankees 6-1 on Sunday.
Mark Kotsay and Jay Payton connected for the A's, who avoided a three-game sweep and snapped their four-game losing skid. They did it with a depleted lineup which was missing Eric Chavez, Frank Thomas and Milton Bradley.
Oakland's designated hitter, Antonio Perez, batted ninth and snapped an 0-for-30 skid dating to last season with a two-out RBI single off Ron Villone in the eighth.
Haren (3-3) gave up only a second-inning homer to Jorge Posada, winning his second consecutive start and sending the Yankees to their first loss in 13 day games this year. The right-hander struck out six and walked none in his fourth career complete game. The other three came last season.
New York lost for only the fourth time in 14 games.
Johnson (5-4) has struggled so much recently that the Yankees sent him for an MRI after his previous outing to make sure he wasn't injured. He was a little better this time out, but not good enough.
Blue Jays 8, Devil Rays 3
At St. Petersburg, Florida, Josh Towers won his first game of the season, snapping a seven-game losing streak for Toronto.
Towers (1-7) gave up three runs and five hits in eight plus innings for his first win since a 10-1 complete game victory on Sept. 30 against Kansas City. The right-hander's spot in the rotation was in jeopardy after losing his first seven starts this season. Entering Sunday, Towers had allowed 54 hits -- including nine homers -- and 12 walks in 30 1-3 innings.
Towers had allowed only three hits through the first eight innings before Joey Gathright led off the ninth with a single and Julio Lugo followed with his first homer of the season to make it 8-3.
B.J. Ryan then got the final three outs for Toronto, which has won six of eight.
Tampa Bay starter Casey Fossum (1-2) gave up four runs and nine hits in six innings. The Devil Rays, who have lost 17 of 25, have scored five runs or less in 14 straight games.
Tigers 3, Indians 2
At Cleveland, Mike Maroth pitched six strong innings to win again at Jacobs Field and Detroit completed its first three-game sweep in Cleveland in nearly 16 years.
The Tigers won their fourth straight to improve the best road record in Major League Baseball to 16-7. The Indians lost their sixth straight for the first time since a six-game skid in August 2004.
The Tigers last swept a series in Cleveland on June 5-7, 1990.
Maroth (5-2) allowed one unearned run and seven hits to improve to 8-3 in his career against the Indians, including 6-0 in Cleveland.
Fernando Rodney pitched the ninth for his sixth save.
Jason Johnson (2-3), in his first outing against the Tigers since leaving them as a free agent in December, allowed two earned runs and eight hits over six-plus innings.
Orioles 8, Royals 7
At Baltimore, pinch-hitter Kevin Millar capped a four-run ninth inning with a two-out RBI single, and Baltimore beat Kansas City for a three-game sweep.
The Orioles issued 12 walks to fall behind 7-4, then rallied in the ninth against Kansas City closer Ambiorix Burgos (1-1), who began the inning by walking the bases loaded.
Jeff Conine followed with a sacrifice fly. After Corey Patterson struck out, Javy Lopez and Nick Markakis hit run-scoring singles to tie it.