Han debuterte for West Bromwich Albion, og i Premier League, den 11. september 2004 da West Bromwich tapte 0–3 for Liverpool. Hans første mål for kom 6. november 2004 i en ligakamp mot Southampton. Kampen endte 2–2 og Earnshaw laget begge målene til West Bromwich. Totalt fikk han bokført 11 ligamål på 31 kamper i 2004/05-sesongen. I første del av 2005/06-sesongen spilte han 12 ligakamper og scoret 1 mål for laget fra West Midlands før han i januar 2006 ble solgt til Norwich City for £3,5 millioner.