The Red Sox also gave the Yankees $500,000 as part of the deal. Drew signed a one-year, $10 million contract with the Red Sox in May.
Gordon Edes of ESPN Boston first reported that Drew was going to the Yankees.
Drew is batting .176 with four home runs and 11 RBIs. He has played in just 39 games this season for the Red Sox. Drew did not play his first game in the majors this season until June.
Johnson is hitting .219 with six home runs and 22 RBIs in 77 games this season.
Drew will play second base for the Yankees.
The Red Sox open a three-game series with the Yankees on Friday at Fenway Park.
- Sarah Barshop