Barton gave the A's a 2-0 lead in the fourth with a two-run homer and Crosby had RBI singles in the fifth and seventh innings. Frank Thomas drove in Oakland's other run.
Dana Eveland (8-8) went seven innings, allowing one run on five hits with one walk and seven strikeouts to get the win for Oakland, which won for the second time in its last five games.
Wladimir Balentien drove in the Mariners' only run with a seventh-inning double.
Jarrod Washburn (5-14) took the loss, giving up three runs on eight hits in six innings with two walks and one strikeout for the Mariners, who have lost eight of their last nine games.