Tampa Bay's Logan Forsythe cut the lead in half when he homered off Roenis Elias to lead off the sixth.
The Mariners added insurance runs via Cano's RBI single off Steve Geltz in the eighth and a solo home run by Mike Zunino off Brandon Gomes in the ninth.
Elias allowed one earned run on six hits in six innings to move to 2-1 on the season. Odorizzi, who notched his ninth quality start in 10 outings, took his fifth loss despite allowing just one earned run.