Yarbrough signed with the Denver Broncos as an undrafted free agent on May 2, 2016.[1] He was waived on September 3, 2016.[2]
Buffalo Bills
On April 7, 2017, Yarbrough signed with the Buffalo Bills.[3] He recorded his first career sack against the Carolina Panthers.[4] He played in all 16 games with six starts, recording 34 tackles. He was re-signed on April 16, 2018, to a one-year deal.[5] He was re-signed once more on March 4, 2019, to another one-year deal.[6]
On August 31, 2019, Yarbrough was waived by Bills and was signed to the practice squad the next day.[7][8]
Minnesota Vikings
On December 31, 2019, Yarbrough was signed by the Minnesota Vikings off the Bills practice squad.[9]
Yarbrough was waived by the Vikings on October 10, 2020,[10] and signed to the practice squad three days later.[11] He was elevated to the active roster on December 5, December 24, and January 2, 2021, for the team's weeks 13, 16, and 17 games against the Jacksonville Jaguars, New Orleans Saints, and Detroit Lions, and reverted to the practice squad after each game.[12][13][14] His practice squad contract with the team expired after the season on January 11, 2021.[15]
San Francisco 49ers
On July 27, 2021, Yarbrough signed with the San Francisco 49ers.[16] He was released on August 31, 2021.[17] He was re-signed to the practice squad on September 22.[18] He was released on November 2.[19]
Minnesota Vikings (second stint)
On November 12, 2021, Yarbrough was signed to the Minnesota Vikings active roster.[20] He was waived on December 4.[21] He re-signed to their practice squad on December 14.[22]