W sierpniu 2006 został wypożyczony do drugoligowego Birmingham City. Zadebiutował tam 5 sierpnia 2006 w przegranym 1:2 spotkaniu z Colchesterem United. 19 sierpnia 2006 strzelił pierwszego gola w zawodowej karierze. Było to w wygranym 2-1 pojedynku z Crystal Palace. W Birmingham Larsson szybko wywalczył sobie miejsce w wyjściowej jedenastce. W styczniu 2007 został wykupiony przez ten klub z Arsenalu. W kwietniu 2007 w meczu z Sheffield Wednesday zdobył bramkę, która została później uznana golem sezonu. Na koniec sezonu 2006/2007 zajął z klubem drugie miejsce w lidze i awansował z nim do ekstraklasy. Będąc zawodnikiem Birmingham strzelił pierwszego gola w trakcie gry w Premier League. Było to 2 grudnia 2007 w wygranym 3-2 spotkaniu z Tottenham Hotspur. W ciągu całego sezonu 2007/2008 w lidze rozegrał 35 spotkań i zdobył sześć bramek. Na koniec rozgrywek ligowych uplasował się z zespołem na przedostatniej, dziewiętnastej pozycji i powrócił z nim do drugiej ligi. Już w kolejnym sezonie powrócili do Premier League. W 2011 zagrał w finale meczu o Puchar Ligi Angielskiej w którym Birmingham pokonało Arsenal F.C. 2:1.