After going undrafted in the 2015 NFL draft, Holmes signed with the Oakland Raiders on May 8, 2015.[1] On September 15, 2015, he was waived by the Raiders and was re-signed to the practice squad.[2] On November 13, Holmes was promoted to the active roster.[3] On August 29, 2016, Holmes was placed on injured reserve after suffering an ankle injury in the preseason.[4] On September 2, 2017, Holmes was waived by the Raiders.[5]
Seattle Seahawks
On September 13, 2017, Holmes was signed to the Seattle Seahawks practice squad.[6] He was released on September 26, 2017.[7]
Baltimore Ravens
On October 3, 2017, Holmes was signed to the Baltimore Ravens' practice squad,[8] He was released on October 24, 2017.[9]
Arizona Cardinals
On November 30, 2017, Holmes was signed to the Arizona Cardinals' practice squad.[10] He was promoted to the active roster on December 16, 2017.[11] He was waived on October 30, 2018 and was re-signed to the practice squad the next day.[12][13]
Indianapolis Colts
On January 19, 2019, Holmes signed a reserve/future contract with the Indianapolis Colts.[14] On August 31, 2019, Holmes was waived by the Colts.[15]
St. Louis BattleHawks
Holmes signed with the XFL's Team 9practice squad during the regular season. He was signed off of Team 9 by the St. Louis BattleHawks on March 9, 2020.[16] He had his contract terminated when the league suspended operations on April 10, 2020.[17]