Griffey sent a Jose Mijares fastball just over the right field wall to tie the game 2-2. Beltre and Russell Bryan followed with singles and scored on a wild pitch and an RBI single by Wladimir Balentien to put Seattle ahead for good 4-2.
Erik Bedard allowed two runs on five hits and five walks over 4 2/3 innings for the Mariners. Miguel Batista (2-0) got the win by retiring one batter in the seventh and Brandon Morrow was credited with a save one day after coming off the 15-day disabled list.
Jesse Crain (1-1) took the loss after giving up three hits and two runs in the eighth.
Minnesota got off to a 2-0 lead on an RBI double by Joe Mauer in the third and a run-scoring single in the fifth by Michael Cuddyer.
After the Mariners took the lead in the eighth, the teams traded runs on Lopez's solo home run for Seattle and Justin Morneau's RBI double for the Twins.