Herd inledde karriären i Stockport County, där han spelade i anfallet tillsammans med sin far. 1954 värvades han av Arsenal för 10 000 pund.[3] Herd gjorde debut mot Leicester City i februari följande år. Det tog ett par år innan han tog en ordinarie plats i laget, men när han väl gjorde det, visade han vilken målskytt han var. Han blev Arsenals bäste målskytt fyra år i rad och säsongen 1960/61 gjorde han 29 ligamål, vilket var den högsta noteringen för en Arsenalspelare sen Ronnie Rooke 1948. Under den här tiden var dock Arsenal ett mittenlag, och 1961 gick han över till Manchester United.[4] Totalt gjorde Herd 109 mål på 180 matcher för Arsenal.
Första matchen för Manchester United var mot West Ham den 19 augusti 1961. Herd var med om föra klubben till seger i FA-cupen 1963 samt ligan 1965 och 1967. Han lämnade United 1967 efter att ha gjort 144 mål för klubben. Han spelade sedan i Stoke City innan han avslutade karriären i Waterford 1970. Herd spelade även fem landskamper (tre mål) för Skottland. Säsongen 1971/72 var han tränare i Lincoln City.