Yates began his youth career at
Doncaster Rovers. He joined
Rotherham United in his late teens.
Rotherham United Yates signed professionally for Rotherham United in 2014. He scored his first senior goal while on loan at
Harrogate Railway Athletic in February 2015. He made his debut in
the Football League on 3 April 2015, coming on as an 85th-minute substitute for
Richard Smallwood in a 2–1 defeat to
Birmingham City at
St Andrew's. He had a loan spell with
Harrogate Town cut short during the
2015–16 season as
the Millers needed cover due to injuries. During Yates's loan spell at Harrogate Town, he totalled eight appearances and scored four goals. He scored his first professional goals for Rotherham when he scored twice in a 5–4
EFL Cup loss against
Morecambe on 9 August 2016. On 14 January 2017 he scored the opening goal against
Norwich City on his full league debut. Rotherham United went on to win the game 2–1. Yates would make 20 appearances throughout the 2017–18 season, helping Rotherham achieve promotion via the
EFL League One play-offs.
Carlisle United (loan) On 20 July 2018, Yates headed out on loan to
League Two side
Carlisle United until January for the
2018–19 season. He scored his first goal for Carlisle in a 3–2
EFL Trophy win over
Morecambe on 4 September 2018. Yates scored an 88th-minute winner in a 2–1 win at home to
Macclesfield Town in Carlisle's last match of 2018. It was his sixth goal in as many games. Yates was recalled by Rotherham on 1 January to provide cover for injuries.
Swindon Town (loan) On 20 June 2019, Yates joined
League Two team
Swindon Town on a season-long loan. He scored his first goal for Swindon in a 2–0 win away to Scunthorpe on the opening weekend of the
EFL League Two season. He scored his second goal in a 3–2 win at home to his old club, Carlisle on 10 August 2019. After scoring twelve goals in the first half of the season, he was recalled early from his loan spell on 21 January 2020. On 29 January 2020 Yates rejoined Swindon Town on loan until the end season.
Blackpool Yates joined
Blackpool for an undisclosed fee on 21 July 2020, signing a three-year contract, with the club having the option to extend it for a further year. He scored his first goals for the club when he netted twice in a 2–1 win over
Burton Albion on 31 October 2020. Yates ended the
2020–21 season as Blackpool's top scorer, with 23 goals. 20 of those came in the League, which is the joint-highest total scored by a Blackpool player since
Andy Watson in
1993–94. Yates was voted the
PFA Fans' Player of the Year for the 2020–21 League One campaign. He signed a new three-year contract with the club on 23 July 2021. It included an option for a further twelve months. At the start to the
2022–23 season, seven goals and an assist across seven matches saw Yates win the
EFL Championship Player of the Month award for October 2022.
Swansea City In July 2023, Yates joined Championship club
Swansea City on a three-year deal following Blackpool's relegation to
League One. Yates played 46 times in his first season for Swansea, scoring 9 goals.
Derby County (loan) On 2 July 2024, Yates joined fellow Championship club
Derby County on loan for the
2024–25 season. After missing Derby's first three matches of the season due to a red-card suspension from the previous season, Yates made his Derby County debut in a 2–1 defeat to
Watford on 24 August 2024. He scored his first Derby goal in a 1–1 draw at
Millwall on 19 October 2024. Yates held a regular place as Derby's main starting striker during the season and after injuries to
Dajaune Brown,
Kemar Roofe and
Lars-Jørgen Salvesen, Yates became Derby's only fit senior striker for the last two months of the season. Yates scored 10 times in 42 Championship appearances for Derby during his loan spell and was the clubs top scorer as Derby avoided relegation to League One by one point.
Luton Town On 1 August 2025, Yates signed for League One club
Luton Town for a reported seven-figure fee.
Sheffield Wednesday (loan) On 30 January 2026, Yates joined Championship club
Sheffield Wednesday on loan for the remainder of the season. He made his debut the following day, starting in the 0–1 defeat to
Wrexham. On 28 February 2026, he scored his first goal for Wednesday, at home to
Southampton with a diving header. He won the club's Player of the Month award for March after scoring three goals in three games, the first against Southampton the previous month, and then goals against
Derby County and
Watford. ==Career statistics==