The Red Sox overcame a 3-1 deficit and broke a 3-3 tie while producing four hits in the sixth.
With Luis Ayala on the mound for the Orioles, Scott Podsednik delivered a one-out double in the sixth and Jacoby Ellsbury drew a walk. Ellsbury was forced at second on a grounder by Carl Crawford, leaving the Red Sox one out away from getting out of the inning.
Clay Buchholz (11-3) worked eight innings to get the win. He captured his third straight decision, giving up three runs on eight hits with eight strikeouts.
Alfredo Aceves struck out the side in the ninth for his 24th save.
Ayala (4-4), the third of five Baltimore pitchers, allowed all three runs in the sixth inning to suffer the loss.