Boston overcame a three-run deficit over the final three innings to win for the seventh time in nine games.
The Red Sox came up with 12 hits one night after scoring 15 runs against the Astros.
Jonny Gomes started the Boston rally with a two-run homer in the seventh that brought the Red Sox within one. Drew's homer in the ninth came after David Ortiz had opened the inning with a single and Gomes had drawn a one-out walk.
The three ninth-inning runs were scored against Josh Fields (1-2), the sixth Houston pitcher.
Junichi Tazawa (5-3) did not allow a base runner while working the seventh and eighth innings to get the win. Koji Uehara survived a two-out single in the ninth for his 11th save.