On May 2, 2015, Williams was signed as an undrafted free agent by the San Diego Chargers following the 2015 NFL Draft. On September 19, 2015, he was waived. On September 22, 2015, he was signed to the Chargers' practice squad. On November 21, 2015, he was promoted to the active roster. On January 3, 2016, Williams made his first catch of the season and caught an 80-yard touchdown reception in the regular season finale. He finished the game with two catches for a total of 90 yards and one touchdown in a 20-27 loss to the Denver Broncos.
2016
In the 2016 season, Williams made two catches for 71 yards in the season opener against AFC West rival Kansas City Chiefs. He became the third wide receiver behind Dontrelle Inman and Travis Benjamin after starting wide receivers Keenan Allen and Stevie Johnson were placed on injured-reserve for the season. The following week, he caught three passes for 61 yards and caught his first touchdown of the season on a 44-yard reception against the Jacksonville Jaguars in Week 2. On October 9, 2016, he had his first career game with over 100 receiving yards against the Oakland Raiders. He finished the game with five receptions for 117 yards and a touchdown in the Chargers' 31-34 loss. Williams finished his sophomore season with 69 catches for 1,059 yards and seven touchdowns.
2017
In 2017, Williams played in all 16 games with 15 starts, recording 43 receptions for 728 yards and four touchdowns.
2018
On March 12, 2018, the Chargers placed a second-round restricted free agent tender on Williams. On April 23, 2018, he signed his tender. In Week 6, he recorded three receptions for 118 receiving yards and two receiving touchdowns in a victory over the Cleveland Browns. In the 2018 season, he finished with 41 receptions for 653 yards and five touchdowns. In the Wild Card Round victory over the Baltimore Ravens, he had two receptions for nine yards. In the Divisional Round loss to the New England Patriots, he had five receptions for 94 yards.
On March 13, 2019, Williams signed a four-year, $44 million contract with the Oakland Raiders. Williams made his debut with the Raiders in Week 1 against the Denver Broncos on Monday Night Football. In the game, Williams caught six passes for 105 yards and a touchdown in the 24-16 win. In Week 2 against the Kansas City Chiefs, Williams caught five passes for 46 yards and one touchdown as the Raiders lost 28-10. In Week 3 against the Minnesota Vikings, Williams caught three passes for 29 yards and his third receiving touchdown of the season as the Raiders lost 34-14. In Week 4 against the Indianapolis Colts, Williams caught three passes for 36 yards and one touchdown in the 31-24 win. This was Williams' fourth consecutive game with a receiving touchdown. Williams was forced to miss the Raiders' next two games due to a foot injury. He made his return in Week 8 against the Houston Texans. In the game, Williams caught three passes for 91 yards and a touchdown in the 27-24 loss. Overall, Willliams finished the 2019 season with 42 receptions for 651 receiving yards and six receiving touchdowns.