The npower Championship club accepted an undisclosed fee from the Potters for the 19-year-old, with the keeper set to stay at Birmingham on loan until the end of the season.
Butland had earlier rejected talks with Chelsea because of his desire to play regular first-team football and had also been linked with Liverpool, Fulham, Newcastle and Manchester City in this window.
Butland joined the Birmingham academy aged 14 and made his first-team breakthrough this season following a successful loan at Cheltenham.
His rise through the ranks also saw him become England's youngest ever goalkeeper when he won his first senior cap in a friendly against Italy last August.
Both Everton and Southampton tried to sign the talented teenager last summer after he was called up to the England squad for Euro 2012 after third-choice goalkeeper John Ruddy broke his finger.