On 1 June 2017, Fletcher signed a two-year contract with Stoke City, effective from the expiration of his West Bromwich Albion contract on 1 July. He made his debut on 12 August as the team began their season with a 1–0 loss at Everton, playing the full 90 minutes. Local newspaper "The Sentinel" praised his passing in the match. Fletcher started in the first nine games of the 2017–18 Premier League season for Stoke, extending a streak of consecutive league appearances to 100. He became the eighth outfield player to achieve this mark in the Premier League era. Fletcher scored his first goal for Stoke in a 1–0 win away at Watford on 28 October 2017. Fletcher played 29 times in 2017–18 as Stoke suffered relegation to the EFL Championship.