ST. PETERSBURG, Fla. (AP) - Mitch Haniger hit a grand slam, Nelson Cruz added his 31st home run and the Seattle Mariners rolled to their fourth straight win Saturday night, a 7-6 decision over the Tampa Bay Rays.

Haniger's first career grand slam came in his first game back after a three-week stretch on the disabled list, lifting the Mariners to a 4-1 lead in the third inning. It was his eighth homer of the season.

Cruz, who is on an 11-game hitting streak, hit his seventh homer in 10 games with a man on base in the fourth, raising his league-leading RBI total to 100.

Both home runs came off Jake Odorizzi, who gave up seven runs and eight hits in 3 2/3 innings. Odorizzi (6-7) lost his third straight start.

Steven Souza Jr. hit his 26th homer and Lucas Duda hit his fifth for the Rays, who lost for the eighth time in nine games. Logan Morrison added a pinch-hit homer in the ninth, his 29th of the season.