Brian Roberts drove in a run; Ramon Hernandez had two runs and two hits; Corey Patterson had one run and two hits; and the Orioles (57-71) scored a run on a wild pitch by Tampa Bay reliever Dan Miceli. Baltimore has split its last four games.
Winning pitcher Daniel Cabrera (7-8) yielded five hits in seven scoreless innings with three walks and seven strikeouts.
Chris Ray recorded his 30th save.
Loser Jason Hammel (0-2) surrendered two runs and five hits in 5 2/3 innings with four walks and one strikeout.