The 26-year-old forward, whose fee could rise to £3.25million depending on appearances, joins the Potters a week after their record £8million capture of Kenwyne Jones.
Stoke manager Tony Pulis said: "I have been looking to bring more goals to the squad and Jon certainly fits that bill.
"He has been one of the outstanding performers in the Championship over the past three years and I am confident the lad can make the same sort of impact in the Premier League now that he has been given this opportunity.
"The fact that he is versatile will increase competition for places in the squad which is something we have been looking to achieve."
Walters, who scored eight goals in the Championship last season, began his career as a trainee with Blackburn before spells with Bolton, Hull, Wrexham and Chester.
Birkenhead-born Walters said: "It's always good to know that a manager has that faith in your ability and that was certainly an influence on my decision to come here.
"I am excited about moving here and it is the fulfilment of a long-term goal of mine to get back into the Premier League.
"I had a sniff of it in my time at Bolton, but I knew that in dropping down the leagues, it would take a lot of hard work to get back there one day.
"I thoroughly enjoyed my time at Ipswich, especially being the captain of the club, but this was the opportunity I had been working towards and I'm glad it's come at a club like Stoke."