However, off-field problems continued to affect Pennant and consequently led to him being left out of the side. He joined Portsmouth on loan before leaving to join Spanish side Real Zaragoza in 2009. His time in Spain was overshadowed by disciplinary problems. He returned to the Premier League for the 2010–11 season signing on loan at Midlands club Stoke City. Following a successful loan spell, he signed a permanent contract at Stoke in December 2010. He played in the 2010 FA Cup final, Stoke losing 1–0 to Manchester City, and also played in the UEFA Europa League the following season. Pennant fell out of favour with Tony Pulis in 2012–13 and spent time out on loan at Wolverhampton Wanderers. With his Stoke career looking to be coming to an end, new manager Mark Hughes gave Pennant a new contract. However, after failing to make an impact, he left Stoke in January 2014. He then spent time playing in India with Pune City before returning to England to sign a short-term contract with Wigan Athletic. In January 2016, he signed a one-year deal with Singapore S. League club Tampines Rovers.