 On March 18, 2017, Holmes signed a three-year, $6.5 million contract with the Buffalo Bills.On September 10, in the season-opening 21–12 victory over the New York Jets, he recorded his first touchdown as a Bill, a one-yard pass from quarterback Tyrod Taylor.He was placed on injured reserve on December 26, 2017 with a neck injury.