The six-game skid is Seattle's longest since its 17-game losing streak last July and dropped the Mariners to 11-16 overall.
Seattle has played 18 of its first 27 games on the road, starting in Tokyo, so it hasn't been an easy schedule for the club. The Rays didn't help matters any, sweeping the Mariners while improving their AL East-leading record to 18-8.
Tampa Bay has won 11 of its past 12 games overall and nine straight at home.
In the end, Thursday's loss might have boiled down to one close play in the second, when third baseman Kyle Seager dove to his left to stop a shot by Will Rhymes. Seager's throw was just wide enough to pull Justin Smoak off the bag, and Smoak couldn't make the tag as Rhymes sped past for an infield single.
That two-out play opened the door to a four-run inning by the Rays, who jumped on Millwood for a two-run home run by Jeff Keppinger and a two-run triple by Desmond Jennings.
"I knew he didn't get the tag on it," said Seager, who was not charged with an error. "I just wasn't sure if he kept his foot on long enough. That's a play that changes the whole outcome. We get out of that inning ... that's a play I'd have liked to have made."
Catcher John Jaso, who made his first start behind the plate for the Mariners, said that's the way his former team wins a lot of games.
"Somehow they do it with the big hit or something like that," Jaso said. "That game today was a big inning. That's something you've got to stay out of, because those big innings will get you. Today they got us and some small ball here and there on our side kind of got us, too."
The Mariners again went just 2-for-9 with runners in scoring position, including three straight strikeouts by Mike Carp, Smoak and Michael Saunders after Jaso led off the sixth with a double.
Smoak, who had an RBI single in the second, said the missed opportunities take away any talk of playing close games against a quality foe.
"We wouldn't lose if we did little things right," said Smoak. "That's what you've got to do. We started off great, got two runs across early. After that, we just kind of went through the motions."
Millwood, 37, is still searching for his first win after five starts with the Mariners. His numbers dipped to 0-3 with a 5.34 ERA, but he recovered from a rough second inning to go 6 1/3 innings, after Hisashi Iwakuma had begun warming in the second.
"It didn't feel like I was making all bad pitches," Millwood said of the second. "Just some balls found holes and they hit a gap and that was pretty much it."
Millwood got into the seventh by allowing just two more hits and keeping the Mariners in the game at 4-3, before being replaced by Lucas Luetge. The Rule 5 rookie finished things off with 1 2/3 innings of hitless ball with one walk. He's still yet to allow a run in 7 1/3 innings over 11 appearances.
Seattle had jumped out to a 2-0 lead in the second when Seager walked, Jaso doubled over the head of left fielder Brandon Allen and both scored on a grounder to second by Carp and Smoak's RBI single.
After the Rays regained a 4-2 advantage, Seattle plated a run in the fifth on back-to-back doubles by Dustin Ackley and Ichiro Suzuki. But that turned out to be the last of the Mariners' seven hits on the day.
Jaso went 2-for-4 with two doubles to raise his average to .318. Carp also returned to the lineup for the first time since spraining a shoulder on Opening Day, going 1-for-4 with an RBI.
Figgins went 0-for-4 to drop him to 11-for-78 (.141) over the last 21 games. He's struck out a team-high 28 times in 95 at-bats and is now hitting .189.
"I feel great, to be honest," Figgins said. "I'm taking some aggressive hacks, I'm just not having anything to show for it."
The Mariners struck out eight times, ending a streak of three straight games with double-digit whiffs.