On 7 January 2010, after not making an appearance for two months, Butler joined Championship side Blackpool on loan until the end of the season. On the move up a division Butler said, "I'm really happy with the move. It's a weird one because I've gone a step up, but it's something I'm hoping to thrive on. It looks a good club and I'm happy to be here. Hopefully I can play as many games as I can and help this club where it wants to go, which is the Premiership I suppose." He made his debut two days later in a 1–1 draw with Cardiff City at the Cardiff City Stadium.
After helping Blackpool reach the Premier League, Butler returned to the Galpharm, but had the remainder of his contract paid up on 23 June 2010. In October 2010 Butler joined Rochdale on a trial basis but failed to agree a contract.
On 12 November 2010, Butler joined Football League One side Walsall on a contract until the end of the season. Butler was signed by Chris Hutchings, who was sacked on 4 January 2011—the day after a 4–1 defeat to Peterborough United—following a run of poor League form since the beginning of the season, which had seen Walsall sink to the bottom of League One. He was appointed captain after Dean Smith, the club's Head of Youth, took charge of the first team, and scored his first goal for Walsall in a 3–3 draw against fellow strugglers Tranmere Rovers on 8 January 2011. An impressive second half of the season earned Butler Walsall's Player of the Season and Players' Player of the Season awards. On 13 May 2011, Butler signed a new two-year contract, keeping him at the club until June 2013. In early May 2014, Butler was offered a new contract with Walsall, however, he rejected new terms with Walsall on 22 May; he made 176 appearances in total for the West Midlands club.