Nick Markakis went 3-for-5 with a home run 5, and avoid a three-game sweep.
Nolan Reimold doubled twice and scored three runs, and Vladimir Guerrero knocked in a pair of runs for Baltimore, which picked up just its second win in eight tries.
Jo-Jo Reyes (6-9) earned the win after holding the Tigers to one run on four hits in six innings.
Ramon Santiago had a solo homer and two runs batted in, and Austin Jackson had three hits and an RBI for Detroit, which had a three-game winning streak snapped.
Doug Fister (4-13) was pegged with the loss after giving up eight runs -- six earned -- on 12 hits in 5 2/3 innings.