Po przebyciu okresu rekonwalescencji został wypożyczony na trzy miesiące do Reading, ale po powrocie był jedynie zmiennikiem dla Sola Campbella i Kolo Touré.

W styczniu 2003 roku odszedł z Arsenalu i za 3 miliony funtów przeszedł do Birmingham City. 1 lutego zadebiutował w jego barwach w przegranym 2:4 wyjazdowym spotkaniu z Boltonem Wanderers. Na St Andrew’s Stadium został graczem wyjściowej jedenastki i przez kolejne sezony zajmował z tym klubem miejsca w środku tabeli ligowej. W kwietniu 2006 po raz drugi w karierze złamał nogę, zaś prowadzony przez Steve’a Bruce’a klub spadł do Football League Championship. Do gry powrócił dopiero w grudniu na spotkanie z Plymouth Argyle.

23 stycznia 2007 Upson za 6 milionów funtów zasilił kadrę West Ham United, osiem dni później podpisał z tym klubem obowiązującą do 2011 roku umowę. W koszulce Młotów po raz pierwszy wystąpił 3 lutego w przegranym 0:1 meczu z Aston Villą (już po trzydziestu minutach meczu zszedł z boiska z powodu kontuzji). W sezonie 2007/2008 był podstawowym obrońcą West Hamu, a w grudniowym meczu z Manchesterem United zdobył zwycięskiego gola.