On expiry of his loan he returned to Bristol Rovers, but just 24 hours later he was loaned back to Hereford for the remainder of the season. He was placed on the transfer list at the end of the 2008–09 season, but after some competitive performances from the bench he was removed from the list early on during the start of the 2009–10 season. On 29 September 2009, in an away 3–2 victory against Southampton, he scored a left-footed shot from the edge of the area, this goal was later nominated for Goal of the Year 2009. In May 2010, Williams rejected a new deal with Bristol Rovers and signed a two-year contract with fellow League One side and local rivals Yeovil Town, he linked up with them on 1 July 2010. On 7 August 2010, Williams made his debut for Yeovil against Leyton Orient, and scored his first goal for the club against Rushden & Diamonds in the FA Cup, and scored his first league goal in a 3–1 defeat against Dagenham & Redbridge the following week. Williams first season with Yeovil saw him score eight goals in 39 matches mostly operating from the wing. He started the new season well with a goal in a 3–1 win at home to Oldham Athletic before being out injured for over a month. However, once he had returned from injury he scored again, this time in a 3–0 win away at Hereford United in the FA Cup. Williams ended the campaign as Yeovil's top scorer with 17 goals in all competitions but rejected a new contract to remain at the club. Having rejected Yeovil's offer of a new contract, on 18 June 2012, it was confirmed Williams had signed for newly promoted League One side Swindon Town on a two-year contract. On 23 August 2013, Williams rejoined Yeovil Town on a season long loan deal, only 14 months after previously leaving for Swindon Town. Williams made his second debut for Yeovil as a second-half substitute against Derby County, on 24 August 2013. Williams made a total of nine appearances without scoring before picking up serious cruciate injury in training ruling him out for the rest of the season. Despite being ruled out with injury for the rest of the season, due to the loan agreement with Swindon Town Williams remained officially on loan at Yeovil for the remainder of the season, with Yeovil still having to pay a portion of his wages. On 19 June 2015, Williams signed for Doncaster Rovers on a three-year deal, despite interest from several other clubs including Bradford City, Scunthorpe United, Sheffield United and Millwall.