W styczniu 2004 roku, w spotkaniu z Newcastle United doznał kontuzji ścięgna, przez co pauzował trzy tygodnie. W sezonie 2003/2004 Heskey zaczął odczuwać coraz większą konkurencję ze strony Milana Baroša o miejsce w podstawowym składzie. Niemniej jednak zdobył 12 bramek i zapewnił sobie miejsce w kadrze Anglii na Euro 2004 w Portugalii.
Birmingham City Pod koniec sezonu 2003/2004, Heskey podpisał pięcioletni kontrakt z Birmingham City na kwotę 3,5 miliona funtów, która mogła wzrosnąć do sumy 6,25 miliona. Stał się zarazem najdroższym graczem Birminghamu. W przedsezonowym spotkaniu z CA Osasuna doznał kontuzji kostki, co stawiało jego występ w spotkaniu ligowym z Portsmouth pod znakiem zapytania. Ostatecznie zagrał w tym spotkaniu, zakończyło się one remisem 1:1. Swoją pierwszą bramkę zdobył z główki w ósmej minucie wygranego 1:0 meczu z Manchesterem City, rozegranego 24 sierpnia. W sezonie 2004/2005 Heskey został uznanym najlepszym graczem sezonu w klubie, najlepszym piłkarzem według kibiców oraz z 11 golami na koncie został najlepszym strzelcem drużyny w sezonie oraz zdobył najwięcej tytułów piłkarza meczu.