With the D-backs leading 8-6 in the sixth inning, Miguel Montero delivered a two-out, two-run single, chasing Lucas Luetge. Hisashi Iwakuma came in to pitch, and Roberts greeted him by smacking a pitch off the base of the right-centerfield wall.
The ball bounded past Mariners center fielder Michael Saunders as Montero (3-for-4, homer, four RBI) scored. Roberts slid home safely as the relay throw came in late and wild, and Arizona went on to claim the rubber match of a three-game interleague set.
Trevor Cahill (6-5) earned his fourth win in four starts despite allowing six runs on nine hits over six innings.
M's starter Jason Vargas (7-7) was pounded for 10 runs on nine hits in a 4 1/3-inning effort.
Seattle banged out 14 hits of its own, led by Kyle Seager with three, including a two-run homer.
Franklin Gutierrez added a pinch-hit, three-run shot for the M's.
Wisconsin business offering 'therapeutic cuddling' forced to close
Puzzle-maker slips 'Murdoch Is Evil' into Rupert Murdoch's Sunday Telegraph