Due to his strong offensive performance, Drury was mentioned as a possible backup outfielder during spring training in 2016.[18] He became one of the last players to make the Diamondbacks 2016 Opening Day roster.[19] The Diamondbacks occasionally started Drury in the outfield as well as second and third base to keep his bat in the lineup.[20] Drury was optioned to Reno to clear a roster spot for Shelby Miller on June 19, despite hitting .275/.313/.456 up to that point in the season.[21][22] The Diamondbacks recalled Drury on June 24, a day after outfielder Socrates Brito had fractured a toe on his right foot.[23][24]
On April 6, 2018, Drury left the game due to blurred vision and migraines. The next day, Drury was placed on the 10-day disabled list due to severe migraines.[26] On May 14, he was activated from the disabled list, and optioned to Triple-A Scranton/Wilkes Barre.[27]
Toronto Blue Jays
On July 26, 2018, the Yankees traded Drury and Billy McKinney to the Toronto Blue Jays for J. A. Happ.[28] Drury was placed on the disabled list on August 7 with a broken left hand, eight games into his tenure with the Blue Jays.[29] In 2019, Drury played the majority of the season, appearing at multiple positions, despite having a second straight season in which he struggled offensively. Overall, Drury hit .218 with 15 home runs and 41 runs batted in. On September 1, 2020, Drury was designated for assignment by the Blue Jays.[30] To that point in the season, Drury had hit .152/.184/.174 over 49 plate appearances. He was outrighted on September 4.[31] Drury elected free agency on October 6, 2020.
New York Mets
On January 5, 2021, Drury signed a minor league contract with the New York Mets organization.[32] He began the 2021 season with the Syracuse Mets of Triple-A East.[33] On May 21, the Mets selected Drury to their active roster.[34] He hit his first home run as a Met on May 24, a ninth inning pinch hit home run off Austin Gomber of the Colorado Rockies.[35][36] He batted .274 with four home runs for the Mets before he was designated for assignment on October 2.[37] On October 14, Drury elected free agency.[38]
Cincinnati Reds
On March 21, 2022, Drury signed a minor league contract with the Cincinnati Reds.[39] On April 5, it was announced that Drury had made the Reds’ Opening Day roster.[40] Drury ended up as the starting third baseman and had a breakout year, with him being considered the Reds best offensive player of the first half, and some arguing that he deserved to be an All-Star.[41] In 92 games with the Reds, Drury hit .274/.335/.520 with 20 home runs and 59 RBIs.
San Diego Padres
On August 2, 2022, the Reds traded Drury to the San Diego Padres for Victor Acosta.[42] He hit a grand slam on the first pitch that he saw as a Padre on August 3.[43] In 46 games with the Padres, Drury hit .238/.290/.435 with 8 home runs and 28 RBIs.
Los Angeles Angels
On December 22, 2022, Drury signed a two year, $17 million contract with the Los Angeles Angels.[44] In the first season of the contract in 2023, Drury played in 125 games, hitting .262/.306/.497 with 26 home runs and 83 RBIs.