Whelan started his career at Manchester City but only made one appearance which came in the UEFA Cup and after a loan spell at Bury he moved on to play for Sheffield Wednesday, with whom he won promotion to the Championship in May 2005. In January 2008 Whelan joined Stoke City for a fee of £500,000 with whom he helped gain promotion to the Premier League. He took a while to establish himself in Tony Pulis' first team plans in the top flight but by 2009 he became a regular and went on to play in the 2011 FA Cup Final, but his old club Manchester City beat Stoke 1–0. Whelan continued to be a regular in the side under Pulis and kept his place under Mark Hughes. Whelan spent nine years at Stoke making 338 appearances before joining Aston Villa in July 2017 and then Hearts in August 2019.