Birmingham City fullførte signeringen av Upson fra Arsenal i januar 2003, for en sum av 1 million pund, som kunne stige til 3 millioner pund avhengig av hvor mange kamper han fikk for klubben. Han fikk en leggskade under oppvarmingen til lokalderbyet mot Aston Villa i april 2006, og mistet resten av kampene den sesongen mens han så at laget hans rykket ned til The Championship. Upson fortsatte i klubben mens han jobbet med å komme tilbake fra skaden, var tilbake på banen i desember og scoret ett mål i 3-0 seieren over Plymouth.