Two days after making his big league debut, Zunino connected on a 1-1 pitch from Oakland starter Tommy Milone (6-6) and hit a towering shot to center field to help snap Oakland's 11-game home winning streak.
Raul Ibanez added two hits and an RBI for the Mariners, while Joe Saunders (5-6) allowed five hits over seven innings for his first road victory of the season.
Chris Young homered and had three hits but the A's, coming off an 18-inning win against the New York Yankees, couldn't get much else going.
The Mariners had lost five of eight before beating the division-leading A's to begin a seven-game road trip. They did it behind a steady offense every starter but Kendrys Morales had at least one hit and a stellar effort from Saunders.
The Seattle left-hander struck out four and walked two, pitching out of jams in the second, third and seventh. Saunders had been winless in his six previous starts away from Safeco Field and had a 9.00 ERA on the road before handcuffing the A's.
Danny Farquhar pitched the eighth and allowed Young's homer, and Oliver Perez worked the ninth for his first career save. Perez was in the closer's role after Seattle manager Eric Wedge decided to go with a by-committee approach following Tom Wilhelmsen's recent struggles.
Seattle took a 1-0 lead in the second when Mike Morse doubled and scored on Zunino's double-play grounder. Morse had been in a 2-for-18 slump.
The Mariners' defense gave Saunders a lift when Oakland's Nate Freiman was thrown out at home trying to score from second on a single by Derek Norris in the bottom of the second before the A's tied it in the fifth.
Adam Rosales reached on a fielder's choice grounder and scored when Seattle second baseman Nick Franklin and right fielder Jason Bay bumped into each other chasing Eric Sogard's fly ball. Franklin appeared to make the catch but Bay's glove hit Franklin's and the ball popped out and rolled away as Rosales circled the bases. Sogard was credited with an RBI double.
Milone pitched into the seventh but left following Zunino's homer and a two-out throwing error by shortstop Jed Lowrie. He struck out four and walked three.
Franklin singled leading off the eighth against A's reliever Dan Otero and scored on Ibanez's two-out sharp liner that skipped off Freiman into right field line to make it 3-1.
Young, batting in the leadoff spot for the first time this season while Coco Crisp rested his bruised right heel, homered off Farquhar to make it 3-2.
Notes: Wilhemsen has a team-leading 16 saves but allowed five earned runs in his last outing on Wednesday. ... Oakland 3B Josh Donaldson was also rested a day after suffering a leg strain. ... The A's signed first-round draft pick Billy McKinney. McKinney had committed to TCU before getting selected 24th overall in the draft. ... Otero was called up from Triple-A Sacramento before the game. Oakland optioned LHP Hideki Okajima to the minors to make room. ... The Mariners signed veteran Henry Blanco and designated fellow catcher Kelly Shoppach for assignment. The 41-year-old Blanco, released by the Toronto Blue Jays on June 10, is with his 11th major league team. ... Seattle RHP Felix Hernandez (7-4) takes a 2.49 ERA into Saturday's game. ... RHP A.J. Griffin (5-5), who is winless over his last three starts, goes for the A's.