OAKLAND, Calif. -- Dan Haren worked ahead in eight efficient innings. He struck out six and walked only one.
Still, that wasn't enough for the Athletics' All-Star and ace to earn his career-best 15th win -- failing to reach that mark on his fifth attempt, and on his 27th birthday.
The defending AL West champion A's were eliminated from the wild-card race with the New York Yankees' 8-5 win over Baltimore. The Mariners trail New York by 6½ games after winning for just the sixth time in 23 games.
Yuniesky Betancourt drove in Seattle's first run and had the first hit off Haren (14-8), who dropped his fourth straight decision.
"That's very encouraging," Haren said. "I'm trying to get better. My arm feels great, which is great after 200-plus innings. I have a couple starts left and I'm going to try to make the most of them."
Ryan Rowland-Smith got five outs and Brandon Morrow finished the seven-hitter for Seattle's 11th shutout of the season. It marked the ninth time the A's were blanked, four of them by the Mariners.
Batista (14-11) struck out six in 6 1/3 scoreless innings, allowing five hits and walking four. He had been 0-3 since his last victory, Aug. 17 against the Chicago White Sox.
The 36-year-old right-hander improved to 4-1 with a 1.99 ERA and 31 strikeouts in Oakland.
"They weren't chasing pitches. It's hard not to walk a lot of people," Batista said. "For some reason every time I come here, I have my best fastball of the season. I've thrown some great games here.
"Every run counts, especially with Haren on the other side. When he's on his game, you can't make many mistakes or your team will never come back."
Jack Cust's leadoff double in the fourth was the lone extra-base hit against Batista.
Haren didn't allow a hit until Betancourt's two-out single in the third, then Betancourt singled in the first run of the game in the fifth. Haren gave up four runs -- three earned -- and 10 hits.
Seattle improved to 6-1 this season in Oakland, but won for only the third time in its last 13 road games. The A's have already lost the season series for the first time since 2003, going 5-12 so far with two games left.
"It was a nice way to start a road trip, especially against Haren," Mariners manager John McLaren said. "He's a tough pitcher."
Lopez hit his ninth home run of the year with a shot to left on the first pitch he saw in the seventh.
Haren was efficient: He got through the first two innings on 18 pitches and through six on 62. The eight innings represented his longest outing since also going eight on May 30 against Texas.
He was facing Seattle for the second straight start after Oakland lost 6-5 in his no-decision last Wednesday. Haren gave up four runs and 12 hits in that one and has now allowed at least 10 hits in four straight starts.
"He's throwing well enough to win a lot of these games," A's manager Bob Geren said. "He's been our ace all year and he's finishing strong. He had a great ballgame today -- vintage Dan Haren. His confidence has been high all year and it should be."
Nick Swisher had his eight-game hitting streak against Seattle snapped, going 0-for-3 with a walk. He had homered in three straight games in which he had an official at-bat.
Mariners star Ichiro Suzuki singled to start the sixth for a 10-game hitting streak, then doubled in the seventh. He came into the game batting 5-for-27 this year at the Oakland Coliseum.
- Oakland's Donnie Murphy ended an 0-for-19 funk with his seventh-inning single.
- Haren has raised his ERA in each of his last 18 starts, dating to June 15.
- The Mariners activated RHP Cha Seung Baek from his rehab assignment in Arizona and McLaren plans to use him in long relief or perhaps for a spot start. He had been on the DL since June 17 with inflammation in his throwing shoulder.
- Jose Guillen stole his fifth base for Seattle.
- Geren expects to know soon whether Swisher will be suspended for tackling Rangers pitcher Vicente Padilla on Sunday that led to both being ejected. Swisher was hit by a pitch for the third straight day after having homered in three consecutive games. "There's never a good time to lose Nick Swisher," Geren said.