Having been released by Bristol Rovers as a 15-year-old, Evans began his professional career at his hometown club Newport County, for whom he made his senior debut aged 17 on 20 March 2012 in a 1–1 draw at Cambridge United. After only three Conference Premier appearances, he ended the season playing in the FA Trophy Final on 12 May at Wembley Stadium, where Newport lost 0–2 to York City. During the following season, in which the club would ultimately regain its Football League status after a 25-year absence, Evans became a regular starting player in the Newport team.
In January 2013, Evans signed a -year deal with Wolverhampton Wanderers, then of the Championship, for an undisclosed transfer fee. Having spent the remainder of the 2012–13 season that saw Wolves relegated to League One as part of their youth development squad, he was identified over the summer by new manager Kenny Jackett to become part of his plans for the first team. The midfielder made his club and Football League debut on 3 August 2013 in a goalless draw against Preston North End. He scored his first goal for the club a week later when he netted against Gillingham, as the team went on to win the League One title. He signed a three-year contact extension in 2017 at Molineux.
On 20 August 2015, Evans signed for Bradford City on loan from Wolves initially until 9 January 2016.
Wigan Athletic (loan)
On 31 July 2017, Evans completed a season-long loan to League One side Wigan Athletic. He scored his first goal for Wigan in a 4–1 win against Bury on 13 August 2017. He went on to score a further 2 goals before being recalled from his loan spell by his parent club Wolverhampton Wanderers at the beginning of the January transfer window.
On 10 January 2018, Evans joined Championship club Sheffield United for an undisclosed fee, believed to be around £750,000 On 10 August 2018, Evans joined fellow Championship club Wigan Athletic on loan. The deal was made permanent on 1 January 2019.
International career
Evans made his debut for the Wales under-21 team on 6 September 2013 versus San Marino. On 5 September 2014, Evans scored his first goal for Wales under-21 in a 2–2 draw with Finland. On 1 October 2014 Evans received his first call-up from the Wales senior national team with 5 other uncapped players. He made his debut for the senior side on 14 November 2017 as a second-half substitute during a 1–1 draw with Panama.