B.J. Upton knew his return from a back injury could be tough, and it was.

Josh Willingham extended his season-opening hitting streak to 14 games with a go-ahead three-run double and the Minnesota Twins beat the Tampa Bay Rays 5-4 on Friday night.

Upton was reinstated from the 15-day disabled list by the Rays before the game. He grounded out with a runner on third and two outs in the second, and finished 0 for 3.

"It's not going to happen overnight, but I don't expect it to be a thing that drags out for a long time," Upton said. "I'm going to be making some adjustments on the fly, but I'm comfortable doing that."

Upton hurt his lower back in an outfield collision with teammate Desmond Jennings during a spring training game against Miami on March 14.

"It could have been a whole lot worse and it wasn't," Upton said. "I knew it was going to take some time. I'm just glad overall that both of us dodged a concussion and we both dodged hurting our shoulders. We dodged some major injuries in that collision. We could both be still on the shelf. You throw a concussion in there, who knows what happens?

Willingham's hit in the seventh off Joel Peralta puts him one away from tying Kirby Puckett's team mark of hitting safely in 15 straight games to start the 1994 season.

The Twins also got two RBIs from Joe Mauer, who went 2 for 3 with two walks. Mauer is 31 for 70 overall at Tropicana Field.

Evan Longoria and Matt Joyce homered for the Rays. Longoria had a homer and four RBIs in Tampa Bay's 9-4 win Thursday night at Toronto.

"They just beat us," Ray manager Joe Maddon said. "They got the hit that they needed, we did not and they won. So we just have to move on."

After Tampa Bay tied it with a run on Carlos Pena's bases-loaded double-play grounder in the sixth, Longoria gave Tampa Bay a 4-2 lead with a two-run shot off Liam Hendriks.

"That's the way that guy is," Twins manager Ron Gardenhire said of Longoria. "You make a mistake and he kills it, and he did."

Mauer had put the Twins ahead 2-0 on RBI singles in the first and fifth.

Joyce cut the Rays' deficit to 2-1 during the fifth on his fourth homer of the season.

Hendriks gave up four runs and five hits in 5 2-3 innings. Tampa Bay's Matt Moore allowed three runs and eight hits over 6 1-3 innings.

"Obviously the results aren't what we want," Moore said. "I feel like my head and my body are really right there. There's just a couple things, a little tweak here and there and we could be there next time."

Brandon Gomes (0-1) replaced Moore and was charged for two runs, one hit and a walk without recording an out. Twins reliever Matt Maloney (1-0) retired all three batters he faced.

Matt Capps pitched the ninth for his fourth save.

NOTES: Rays utility man Stephen Vogt was optioned to Triple-A Durham before the game to open a spot for Upton. After the game INF Reid Brignac was optioned to Durham to make room for 1B-OF Brandon Allen, who was claimed off waivers Thursday from Oakland. ... Minnesota 1B-DH Justin Morneau, who fouled a ball off his right foot Thursday night, was out of the lineup, but available off the bench. "Everything is fine," Gardenhire said. "It's pretty sore. I didn't see any reason to put him out there on this (artificial) surface. It's pretty hard. I expect him to be back out there (Saturday). ... Tampa Bay RHP James Shields (2-0) and Twins RHP Carl Pavano (1-1) are Saturday night's scheduled starters.