In his first game at Auburn, Williams had nine receptions for 154 yards and a touchdown.[7] He was dismissed from Auburn on October 6, 2015, for an unidentified violation of team rules. William finished the 2015 season with 12 catches for 147 yards and one touchdown.
On May 10, 2016, Williams signed a 3-year deal with the Los Angeles Rams as an undrafted free agent. On September 3, 2016, he was waived by the Rams as part of final roster cuts.[10]
Edmonton Eskimos
Williams signed with the Edmonton Eskimos of the Canadian Football League (CFL) before the 2017 season. Williams caught four passes for 110 yards and a touchdown against the BC Lions in his professional regular season debut.[11] Williams went on to have a strong first season in the CFL, catching 46 passes for 508 yards with two touchdowns. Williams became a star player in the CFL in 2018, earning a Top Performers of the Month designation for the months of June and July and ultimately finished the season with the most receiving yards in the league with 1,579. On January 5, 2019, Williams was released by the Edmonton Eskimos in order to pursue NFL opportunities.[12][13]
Buffalo Bills
On January 7, 2019, Williams signed with the Buffalo Bills of the NFL.[14] Williams played in all four preseason games for the Bills, catching eight passes for 78 yards with two touchdowns. He was released during final roster cuts on August 31, 2019, and was signed to the practice squad the next day.[15][16] On October 5, 2019, Williams was promoted to the active roster.[17] He caught 4 passes for 29 yards and the game winning touchdown in a 14–7 Bills win over the Tennessee Titans on October 6, 2019.[18] After suffering a shoulder injury against the Miami Dolphins in week 7, Williams was deactivated for the rest of the season until week 17 when the Bills rested numerous starters against the New York Jets, having already clinched a playoff berth. Williams caught six passes for 108 yards during the 13–6 loss.[19]
Williams was placed on the reserve/COVID-19 list by the Bills on July 29, 2020.[20] He was activated on August 9, 2020.[21] Williams was waived as part of final roster cuts on September 5, 2020, but was re-signed to the practice squad the next day.[22] He was elevated to the active roster on October 24 and January 8, 2021, for the team's week 7 and wild card playoff games against the New York Jets and Indianapolis Colts, and reverted to the practice squad after each game.[23][24] On January 26, 2021, Williams signed a reserves/futures contract with the Bills.[25] He was waived/injured on August 23, 2021, and placed on injured reserve.[26][27] On August 26 he was released from injured reserve with an injury settlement.[28]
Saskatchewan Roughriders
On October 4, 2021, Williams signed with the Saskatchewan Roughriders.[29]
On February 5, 2022, Williams signed a one-year, $260,000 contract extension.[30] On July 20, 2022, the CFL announced that Williams had been suspended for one game after he took the helmet off of Toronto Argonauts defensive back Shaquille Richardson and threw it at him during warmups for the leagues Touchdown Atlantic game.[31] He became a free agent upon the expiry of his contract on February 14, 2023.[32]
^Fitzgerald, Katherine (August 26, 2021). "Observations: Josh Allen readies for lone preseason start". Buffalo News. Retrieved August 27, 2021. The Bills released wide receiver Duke Williams and offensive lineman Forrest Lamp from injured reserve with injury settlements, per the league's transaction report.