Drury spent just one season with the Flames before he was traded on July 3, 2003, along with Steve Bégin, to the Buffalo Sabres in exchange for former Avalanche teammate Steven Reinprecht and Rhett Warrener. Traded twice in two seasons, Drury was admittedly frustrated. However, Drury regained his form and excelled in Buffalo, serving as co-captain with Daniel Brière from 2005 to his departure via free agency in 2007. With his previous numbers (37 with Colorado and 18 with Calgary) both taken in Buffalo, Drury switched to 23 in honor of his childhood hero, New York Yankees first baseman Don Mattingly.