The D-backs cut the lead in half in the fourth when Martin Prado led off with a double, moved to third on Eric Chavez's groundout and scored when Mark Trumbo grounded out to third.
The Mariners increased their lead to 3-1 in the fifth when Brad Miller led off with a triple and came home on Stefen Romero's groundout.
D-backs starter Patrick Corbin, who will pitch the season opener March 22 against the Dodgers in Sydney, allowed three runs on six hits over five innings.
"I felt like after the second, I was locating my fastball a lot better," Corbin said.
Mariners starter James Paxton held the D-backs to one run on five hits over four innings.
"I got myself in situations that were good for me to get into and get out of," said Paxton, who said he had trouble locating his fastball. "You have to be able to learn to pitch without your best stuff. You're going to go out there without your best stuff most of the time. That's what it's all about, being able to battle through games and help your team win."
The D-backs rallied in the fifth off reliever James Gillheeney.
Gerardo Parra led off with a single, moved to third on A.J. Pollock's one-out double and scored on when Zunino was charged with a passed ball.
Pollock came home later in the inning on a sacrifice fly by Paul Goldschmidt, tying the game at 3-3.
Up next: Less than three weeks from their Opening Day meeting with the Angels, the Mariners will take on their American League West rivals for the second time this spring in a 1:05 p.m. PT start Tuesday at Tempe Diablo Stadium, live on MLB.TV. Scott Baker, who returned from Tommy John surgery last September and was signed to a Minor League deal by the Mariners this past winter, enters his third start of the spring sporting a 1.80 ERA, having allowed one earned run on four hits through his first five innings of work in Cactus League play. Baker, a 15-game winner with the Twins in 2009, will meet Angels lefty starter C.J. Wilson.