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.
"That was a nice outing for Robbie," manager Lloyd McClendon said after Cano snapped out of a lengthy slump to help Seattle improve to 4-3 on its road trip and 21-23 overall. "The bat speed is back. He got a couple big hits. There's nothing like positive results."
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.
The Rays have now lost three straight.
"Seems like these last three [games] have all kind of been a little bit similar," Rays manager Kevin Cash said. "We can't quite piece anything together offensively. We left  guys on base today. Generally when you do that and you're only getting one [run] across, that doesn't amount to many good things."
MOMENTS THAT MATTERED Cano checks in: The Mariners needed to get to Odorizzi before he settled into a groove, and Cano helped that effort with an RBI single to right in the first -- his first RBI in 12 games. Cano came through again with a second run-scoring base hit in the eighth. His 2-for-4 day hiked his average to .253 with 13 RBIs. The Mariners need their All-Star second baseman to heat up, as he'd hit just .156 in his previous eight games and .210 in his last 26. More >
Power from first:James Loneywent on the disabled list on Monday, paving the way for Forsythe to play more first base, the position known most for being manned by power hitters. Forsythe led off the sixth by hitting a 1-0 offering from Elias into the left-field stands, giving him his fifth home run of the season and cutting the Mariners' lead in half.
No double trouble for Elias: The lefty gave up doubles in the fourth, fifth and sixth innings, but the Rays could not capitalize, stranding eight runners in Elias' six innings of work and going 0-for-9 with runners in scoring position in that span.The only run allowed by the 26-year-old Cuban was Forsythe's leadoff homer in the sixth. Elias has been strong in six starts filling in for Hisashi Iwakuma this season and hasn't given up more than three runs in his last 16 starts dating back to last July. More >
Runners stranded: The Rays had their chances to produce some runs, but could not do so on numerous occasion. In the fifth, Tampa Bay had one of its best chances of the night after catcher Rene Rivera doubled on the first pitch of the inning, but the 1-2-3 guys in the order -- Brandon Guyer, Joey Butler and Evan Longoria -- missed their chances to send him home. The Rays squandered another double -- this one by Jake Elmore -- in the sixth. In total, the Rays were 0-for-10 with runners in scoring position. More >
SOUND SMART WITH YOUR FRIENDS Since their inception in 1977, the Mariners have the best record in the Majors on Memorial Day, at 24-12. The worst record in MLB on Memorial Day? That would belong to the Rays, at 4-11.
The Rays' bullpen has allowed runs in four straight games for the first time since April 24-27.
QUOTABLE "Right now, obviously, we're in a little bit of a tailspin here. But one big hit can knock you out of that. We're just not getting that right now." -- Cash, on the Rays' offense
"It's tough to always be focused on the big picture, taking at-bats for what they're worth and building on them. But when you see some results come from that and see what you're doing is paying off a little, it's nice." -- Zunino, on homering on a nine-pitch at-bat in the ninth
UPON FURTHER REVIEW McClendon unsuccessfully challenged an attempted pickoff by Elias in the bottom of the second. Rays shortstop Tim Beckham was ruled safe by first-base umpire Jerry Layne when he dove around the tag of first baseman Logan Morrison on a 3-2 count to Elmore. The call stood after a review that lasted two minutes and 33 seconds.
WHAT'S NEXT Mariners: Left-hander J.A. Happ (3-1, 3.61 ERA) makes his ninth start of the season as Seattle plays the middle game of a three-game series at Tropicana Field at 4:10 p.m. PT on Tuesday. Happ is 2-2 with a 5.52 ERA in seven career appearances against the Rays.
Rays: Right-hander Alex Colome (3-1, 4.81 ERA) makes his sixth start of the season. He recorded 16 strikeouts over his first three starts this season, spanning 16 innings. Since then he has struck out three in his last two starts, spanning 8 1/3 innings.