The Tigers had taken a 6-5 lead in the top of the 13th on Quintin Berry's RBI single and Joaquin Benoit (1-2) was seeking to save the victory in the bottom of the frame.
But with one out, Hardy homered to left to tie it up. After Jim Thome struck out, Benoit hit Adam Jones with a pitch and Teagarden followed with a game-winning two-run clout to right field, handing the O's a wild comeback victory.
The O's, however, came back to extend the contest in the next half-inning on Jones' bloop RBI hit with two outs.
Kevin Gregg (3-2) earned the victory by recording the final out in the top of the 13th for Baltimore, which evened its three-game set at Camden Yards.
Berry finished 3-for-6 with two RBI for Detroit.