Blackburn Rovers Walters was born in
Moreton, Merseyside and started his career at
Blackburn Rovers having been spotted by playing for Shaftesbury under 16s in the Eastham & District Junior League by Rovers' scout for Wirral and Wales, Mike O'Brien who moved quickly to sign him. He played for Blackburn's youth and reserve teams where he scored prolifically, helping the club reach the
FA Youth Cup final in 2001, losing 6–3 on aggregate to
Arsenal. However his promising career with Rovers was ended due to a 'serious breach of club discipline' which was described as 'totally out of character' and saw him suspended by the club.
Bolton Wanderers He then joined
Bolton Wanderers for a fee of £50,000 following interest from numerous clubs. He played in four Premier League games for Bolton making his professional debut as an 85th-minute substitute in a 2–1 defeat to
Charlton Athletic, before signing for
Hull City on loan in 2003. On his debut for Hull Walters scored twice in a 5–1 win over
Carlisle United. Following his loan spell at Hull, Walters returned to Bolton, where he again went out on loan, this time to
Crewe Alexandra however he failed to make an appearance for Crewe due to a tooth infection. In the
2003–04 season he joined
Barnsley on loan and played eight league games for the "Tykes".
Hull City Walters signed for
Hull City for a second time in 2004, this time on a permanent transfer. In February 2005, he joined
Scunthorpe United on a one-month loan deal and made three appearances for the "Iron".
Wrexham After scoring only three goals for Hull in two seasons, Walters was sold to
League Two side
Wrexham. Upon signing for the club, Walters believed that he made the right choice moving closer to his Merseyside home. He played in 41 matches in the
2005–06 season, scoring against
Cheltenham Town,
Stockport County,
Torquay United (twice) and
Mansfield Town.
Chester City He spent the 2005–06 season at Wrexham before he joined their
rivals Chester City in 2006. Walters thrived under the management of
Mark Wright and scored ten goals in 33 matches.
Ipswich Town Walters agreed terms with Ipswich on a deal worth £100,000 plus add-ons in mid-January 2007, having impressed in
FA Cup ties between the clubs earlier in the month. He made his debut for Ipswich on 30 January 2007 in a 0–0 draw at
Stoke City. Walters scored his first goal for Ipswich in their 2–1 victory over
Queens Park Rangers at
Portman Road on 3 March 2007. Walters ended the
2006–07 season with goals against
Barnsley and a brace on the final day of the season against Cardiff City. He scored his first ever senior hat-trick in the 6–0 win over
Bristol City in November 2007 at Portman Road, in the same week he received a call-up to the
Republic of Ireland B squad. On 12 January 2008, he extended his contract with Ipswich until 2011. He had surgery on a niggling knee problem on 19 March 2008 and returned to action against
Norwich City on 13 April in half the expected time. Walters played 41 times for Ipswich scoring 13 goals in
2007–08 as the Tractor Boys missed out on a play-off place by just one point. His performances during the season earned him the
Player of the Year and Players' Player of the Year awards. In August 2010, Walters expressed to Roy Keane his desire to leave
Portman Road after Stoke City made an offer for him.
Stoke City On 18 August 2010, Walters joined
Premier League side
Stoke City for an initial £2.75 million fee on a four-year contract. He made his Stoke debut on 21 August 2010 against
Tottenham Hotspur. He scored his first goal on 24 August 2010 in a 2–1
Football League Cup win over
Shrewsbury Town. He scored his first league goal for Stoke on 2 October 2010 in a 1–0 win over
Blackburn Rovers. After the match, Walters earned praise from his former manager
Sam Allardyce, and City manager
Tony Pulis. In November, Walters scored twice for Stoke in a 3–0 win over
West Bromwich Albion, the first goal coming from the penalty spot and the other via a rebound from
Scott Carson. In January 2011, Walters scored twice for City in a 2–0
FA Cup third round replay win at
Cardiff City. It took him until the end of March 2011 to find the back of the net in the Premier League again, scoring in a 4–0 win over
Newcastle United. He scored in the next match against
Chelsea and was named as
Man of the Match. Following the match, Tony Pulis spoke of his delight at Walters' improved performances. "Jon's come from the Championship and sometimes it takes time to have the confidence and the belief to make the step up. He had an up-and-down start but he's been fantastic for us. He's certainly my type of player, he gives everything, he never stops and whatever you've paid him, you know he's earned it." Walters scored twice in Stoke's 5–0 rout over former club
Bolton Wanderers in the
FA Cup semi-final at
Wembley to help Stoke into their first
FA Cup Final. Walters described it as the pinnacle of his career. Walters ended the
2010–11 season as joint top goalscorer with
Kenwyne Jones, both having scored 12 goals. His first goal against Bolton in the semi-final won Goal of the Season. He played in the
2011 FA Cup Final against
Manchester City as Stoke lost 1–0. Walters played in his first European match on 28 July against
Hajduk Split where he scored the only goal in a 1–0 Stoke win. He signed a 12-month contract extension in August 2011. Walters went on to play in 31 matches during the first half of the
2011–12 season scoring seven goals. In March 2012, Walters won the Sir Stanley Matthews Potteries Footballers of the Year award for 2012. Speaking after picking up the award, Walters revealed that he would like to remain at Stoke for the rest of his career. By 21 April 2012, Walters had played in 50 matches during the
2011–12 campaign and scored nine goals of which five were penalties. This led to Walters being criticised by some Stoke supporters but he was backed by his manager. On his 100th appearance for Stoke, Walters scored twice against his old club Bolton Wanderers in a 2–2 draw on the final day of the season, a result which relegated the "Trotters". Walters continued to be a virtual ever-present in the
2012–13 season as he went on to make a club-record 61 consecutive Premier League starts by 3 November 2012. He scored a well-worked set-piece in a 1–1 draw against
West Ham United which earned praise from pundit
Gary Neville. He scored twice against
Liverpool on Boxing Day 2012 in a 3–1 victory. On 12 January 2013, whilst playing against
Chelsea, Walters scored two own goals becoming only the fourth player to do so in the Premier League, he also missed a penalty in the match as Stoke lost 4–0. He made amends three days later, scoring twice in an FA Cup third round replay victory over
Crystal Palace. Walters played in every match in the 2012–13 season and was the club's top-scorer with 11 goals. The final game of the season against Southampton was his 89th consecutive league start. Walters made a bad start to the
2013–14 season against
Liverpool. After being awarded a last-minute penalty, he saw his shot easily saved by
Simon Mignolet and Stoke went on to lose the match 1–0. However, despite this Walters insisted that he would not shy away from taking penalties. On 10 November 2013, Walters featured in his 100th consecutive Premier League match and marked the occasion by scoring in a 3–3 draw with
Swansea City. His run of 102 consecutive league starts ended on 4 December 2013 against Cardiff City after picking up an injury. Walters scored a penalty against
Arsenal in a 1–0 win on 1 March 2014. He also scored from the spot in the next match against
Norwich City but was later sent off for the first time in his career for a high challenge on
Alexander Tettey. Walters ended the 2013–14 season with five goals in 36 matches as the Potters finished in 9th position. He also scored winning goals against Swansea City,
Tottenham Hotspur and
Arsenal. On 31 January 2015, Walters became the first Stoke player to score a
Premier League hat-trick in a 3–1 victory over
Queens Park Rangers. Walters scored his 50th Stoke goal on 24 May 2015 in a 6–1 victory against Liverpool. In total, he scored 11 goals in 36 appearances in 2014–15 as Stoke finished in ninth position for a second consecutive season. Walters vented his frustration with contract talks claiming the club were undervaluing him. This led to him handing in a transfer request but despite this he failed to secure a move away from the club. Walters then scored in back-to-back matches against Leicester City and Bournemouth. Chief executive Tony Scholes stated that he hoped the club could reach a 'compromise' with Walters over his contract. His contract dispute was resolved and he signed a new two-and-a-half-year deal with Stoke on 7 November 2015. Walters played 33 times in 2015–16, scoring eight goals as the Potters again finished in ninth position.
Burnley On 7 July 2017, Walters joined fellow Premier League side
Burnley on a two-year contract for a fee of £3 million. He was restricted to just five appearances in the
2017–18 season as he struggled with a recurring knee injury and on his return to action wasn't able to force his way into
Sean Dyche's plans. Walters re-joined Ipswich Town, on loan, on 30 August 2018. However, after making only three appearances for the club, Walters was ruled out for six months due to an Achilles injury on 26 September, making him unavailable for the rest of his loan spell at the club. Walters announced his retirement from football on 22 March 2019 after struggling to recover from his Achilles injury. ==International career==