ST. PETERSBURG, Fla. -- Freddie Bynum made the most of his first start this season.
Bynum's two-run shot pulled the Orioles to 7-3 in the sixth. His RBI grounder during a five-run seventh put Baltimore ahead 8-7. Aubrey Huff added a solo homer in the ninth.
Baltimore manager Sam Perlozzo, who earned his 100th major league win, said Bynum's homer was the turning point in the Orioles' fourth straight victory.
"It gave us some life and I thought the dugout responded that way," Perlozzo said. "I really think that's what got us going."
"I'm glad I could just help the team," said Bynum, who homered in his sixth at-bat this year. "I'm just glad we got a win."
"I didn't pitch well when it counted," Shields said.
The Orioles committed three errors on one play in the third, allowing a run to score.
Huff received the first error after misplaying Upton's grounder to first. Upton advanced to second and Harris to third when Huff got a second error for an errant throw that got past pitcher Adam Loewen, who was covering first base.
Orioles catcher Paul Bako backed up the play, but was charged with the third error when his bad throw toward the plate allowed Harris to score and let Upton reach third.
"It was the tale of two games," Huff said. "We started off really bad ... it couldn't get any worse. Made a circus play out there. A lot of character this team showed tonight."
It was the majors' first three-error play since Houston did it at home against San Diego in the fourth inning on May 23, 1998. First baseman J.R. Phillips was charged with two errors and second baseman Craig Biggio had the other.
Upton later scored when he beat Huff's throw to the plate on Ben Zobrist's sacrifice bunt.
The Devil Rays, holding a 2-0 lead, wasted a chance for a big inning later in the third when they failed to score after loading the bases with none out.
"We had the opportunity to score more runs but couldn't get the appropriate hit," manager Joe Maddon said.
Tampa Bay scored four times to go up 6-0 one inning later. Carl Crawford drove in a run with a bases-loaded walk to end Loewen's night. Wigginton greeted reliever Jeremy Guthrie (1-0) with a three-run double on his first pitch.
Loewen allowed six runs -- four earned -- and three hits in 3 2/3 innings. He walked five and struck out three. Guthrie gave up one run and one hit over 2 1/3 innings for his first major league win.
Chris Ray pitched a perfect ninth for his fourth save in five opportunities.
In the fourth, Baltimore's Kevin Millar hit a ball off one of the two overhanging catwalks that are in play at Tropicana Field. After striking the structure, the ball landed in foul territory, which makes it a foul ball.
While the umpires were discussing the play, Millar circled the bases with a home run trot. After the ball was called foul, he returned to the plate and struck out.
- Orioles RHP Jaret Wright (sore right shoulder) played catch for the second time since getting hurt.
- Devil Rays RF Delmon Young went 0-for-4, ending his 12-game hitting streak.
- Baltimore has at least one double in all 13 games this season.
- Loewen has been getting treatment for a blister on his pitching hand, but said it wasn't a factor.