SEATTLE -- The Oakland Athletics found some long-lost power on Saturday night and needed every bit of wattage to put an end to a five-game skid.
Three solo home runs provided most of the offense as the A's escaped with a 4-3 win over the Seattle Mariners.
Oakland jumped out to a 3-0 lead and held on while stranding five runners in the eighth and ninth innings.
"We got a lead, we held it," A's manager Bob Melvin said. "So a lot of good things that we do when we win came to fruition (Saturday)."
Oakland (19-19) improved to 3-6 on its current road trip, which ends after Sunday's series finale. In eight of nine games so far on the trip, the A's have scored four runs or fewer.
After hitting seven home runs in their first nine games of May, the A's went deep three times. Josh Donaldson, Daric Barton and Brandon Moss all hit solo home runs as Oakland built a 4-2 lead through six innings.
Oakland starting pitcher Jarrod Parker threw 4 2/3 hitless innings before Seattle's Kelly Shoppach hit a two-run homer in the fifth.
The Mariners almost had another homer one inning later, but A's center fielder Yoenis Cespedes went over the wall to steal a solo shot from Kyle Seager.
That ended up being a key play in the one-run victory.
"That was remarkable," Donaldson said of Cespedes' catch. "I was turning into a little kid, turning into a fan on that."
Five of Oakland's 19 wins this season have come by one-run margins.
Solo homers by Donaldson and Barton helped give Oakland a 3-0 lead before Shoppach ended Parker's no-hit bid with the two-run homer in the fifth. Moss responded with a solo homer off Seattle reliever Charlie Furbush to start the sixth, giving the A's a 4-2 lead.
Seattle pulled within 4-3 with three consecutive one-out singles to right field in the bottom of the seventh. Justin Smoak and Raul Ibanez singled off Parker to chase him from the game, then Dustin Ackley welcomed reliever Sean Doolittle with a single. Smoak ran through a stop sign from third-base coach Daren Brown and barely beat the sweeping tag of Oakland catcher Derek Norris for the Mariners' third run of the night.
But the A's were able to hold on, despite an eighth-inning scare that saw Seattle load the bases off reliever Ryan Cook. The right-hander ended up striking out Endy Chavez, who had come on as a pinch runner two innings earlier, to end the threat. Cook had three strikeouts in the eighth, his only inning of work.
A's closer Grant Balfour had his own struggles in the bottom of the ninth but eventually stranded two runners while picking up his sixth save of the season. After giving up a walk and a Michael Saunders single, Balfour got Seager to ground out to second base for the final out.
"So many opportunities there at the end," Mariners manager Eric Wedge said. "Some guys stepped up, some guys didn't."
Seattle (17-20) struck out 10 times but also drew six walks off Oakland pitchers.
Parker (2-5) allowed three hits and three runs in 6 1/3 innings. Seattle starter Brandon Maurer, who was making his first start in 10 days, allowed three runs and six hits in five innings. Maurer (2-5) threw 95 pitches while giving up two home runs.
"He made it hard for himself," Wedge said. "He did bend, but he didn't break."
The A's jumped out to a 2-0 lead on two home runs, then added a run in the fifth while Parker cruised through the Seattle hitters. Parker didn't allow a hit until the fifth, when Shoppach hit a two-run homer to cut Seattle's deficit to 3-2.
Donaldson's one-out homer in the second gave Oakland a 1-0 lead while seeming to rattle Maurer. After get Barton to fly into the second out of the inning, Maurer walked back-to-back batters on eight consecutive pitches.
Maurer got out of that inning and eventually started throwing strikes, but the A's took him deep again when Barton hit a two-out, 3-2 pitch into the right-field seats for a 2-0 lead in the fourth.
Jed Lowrie's two-out, RBI single in the fifth -- his third hit of the night -- gave Oakland a 3-0 lead.
It took Maurer 95 pitches just to get through the first five innings, due in large part to his control problems. Left-handed reliever Furbush came on to start the sixth.
Parker gave up three walks of his own through the first four innings and a fourth to lead off the fifth but was otherwise perfect until Shoppach hit a 3-2 pitch into the right-field seats.
"We want to get him on a roll," Melvin said of Parker. "One good start is one thing. We'd like to see him get on a roll, and certainly with losing a few games in a row, it was a performance we needed out of him (Saturday)."
NOTES: Donaldson turned an ankle on an awkward slide in the top of the ninth inning but stayed in the game and said afterward that the injury should not affect his status for Sunday's game at Seattle. ... The Mariners juggled their rotation again to keep right-handers Felix Hernandez and Hisashi Iwakuma on their normal routines. This time, right-hander Aaron Harang will have a long wait between starts. He's scheduled to start Thursday's series finale at the New York Yankees, nine days after he last took the mound. ... Seattle will host Oakland again Sunday, then follow that with a travel day. Monday will mark the Mariners' fourth day off since May 2. ... After Oakland's Adam Rosales struck out as a pinch hitter in Friday night's loss, the A's were hitting .057 (2 for 35) in pinch-hitting situations. ... Mariners center fielder Franklin Gutierrez (leg) won't go on the road trip this week but could do some running in Seattle as he continues to rehab on his latest stint on the disabled list, Wedge said.