Hales joined Gillingham as a youth team player in 1968 but failed to gain a professional contract and drifted into non-League football, playing for Faversham Town and then Dartford. In 1972 Luton Town paid £2,000 to sign him from Dartford, but just over a year later he was sold for £4,000 to Charlton Athletic. It was at The Valley that he made a name for himself, scoring 168 goals in 368 games in two spells at the club, making him the Addicks' all-time leading goalscorer and earning the nickname from the fans "The Killer" or simply "Killer" due to his lethal finishing in front of goal and the fact that his family owned a butchers' shop with a slaughterhouse attached to it, where Hales used to help out before becoming a professional. In between his two spells with Charlton he played top-flight football for Derby County and West Ham United, the team he supported as a boy. When his second spell at Charlton ended in 1985 he joined Gillingham, where he rounded off his professional career with 9 goals in 31 games. Released by the Gills in 1986, he returned to the village in which he was born and bought the local pub.