Direkt im ersten Turnier der &lt;a href="Snooker-Saison%202016/17"&gt;Saison 2016/17&lt;/a&gt; – das Riga Masters – erreichte er das Halbfinale, in dem er sich aber Michael Holt geschlagen geben musste. Nach einer Teilnahme an der Runde der letzten 32 der Indian Open erreichte er bei den World Open das Achtelfinale, wo er John Higgins unterlag. Bei der 6-Red World Championship schied er zum wiederholten Male in der Runde der letzten 32 aus, ehe er bei den English – dem ersten Turnier der neu eingeführten Home Nation Series – das Achtelfinale erreichte. Nach zwei frühen Niederlagen zog er bei den Northern Ireland Open ins Viertelfinale ein, in dem er dem Engländer Kyren Wilson unterlag. Auch beim UK Championship erreichte er das Viertelfinale, bevor er bei den Scottish Open im Achtelfinale an Mark Davis scheiterte. Im Rahmen der Championship League erreichte er zwei Gruppenendspiele, bevor er in der sechsten Gruppe ausschied. Nach einer Auftaktniederlage beim Masters erreichte er in Berlin die Hauptrunde des German Masters, wo er aber direkt am späteren Sieger Anthony Hamilton scheiterte. Nach zwei weiteren frühen Niederlagen erreichte er bei den Gibraltar Open das Viertelfinale, in dem er sich aber Shaun Murphy geschlagen geben musste. Anschließend erreichte er bei den China Open wieder ein Endspiel eines Ranglistenturnieres, das er aber mit 8:10 gegen Mark Selby verlor. Dennoch war Williams zwischenzeitlich aus den Top 16 geflogen, sodass er sich zum Saisonabschluss für die Snookerweltmeisterschaft qualifizieren musste. Nach Siegen über Zhao Xintong und Liam Highfield scheiterte er in der letzten Runde an Stuart Carrington. Auf der Weltrangliste verbesserte er sich zum Ende der Saison auf Rang 15.