He started his career at Tranmere Rovers in 1965, and in six years at the club would make close to 200 appearances. From March 1972, he then spent three years with Brighton & Hove Albion, making around 100 appearances. In May 1974 he signed with Blackburn Rovers for £25,000, and went on to play close to 100 games with the club in a two-year spell. Bought by Port Vale for £12,000 in September 1976, he was voted the club's Player of the Year in 1977–78, and was the club's top scorer for two consecutive seasons. Sold to Bury for £35,000 in September 1978, he played around 50 games, before he moved back to Tranmere Rovers in 1979. In 1981, he transferred to Swindon Town, before he announced his retirement the following year. He later served as Swindon's manager in the 1983–84 campaign.