Teagarden hit his second home run of the year and Jones added his 26th in a four-run Baltimore third inning. Teagarden also drove in a run in the fourth inning.
Britton (4-1) allowed seven hits in eight innings while striking out 10 with no walks in wining a third consecutive decision.
Four of the hits off Britton came in the second inning when the White Sox scratched out a run. Gordon Beckham drove in Dayan Viciedo to finish the rally.
It could have been more damaging to Britton but Jones threw out A.J. Pierzynski at home with Teagarden making the tag.
Teagarden tied the score with a two-out home run the next inning. Nick Markakis and J.J. Hardy then had back-to-back doubles before Jones connected for his home run.
Teagarden doubled in Nate McLouth to complete the Orioles' scoring.
All the Baltimore runs came off Chicago starter Jose Quintana (5-3), who was reached for seven hits in 3 2/3 innings. He walked one and struck out one.
The White Sox got a pair of runs in the ninth when Alexi Ramirez singled in Alex Rios and Hector Gimenez. But Jim Johnson struck out Gordon Beckman to end the game and collect his major-league best 41st save.