Anderson was born in Newcastle on Tyne, England. He began his career as an apprentice at Burnley, turning professional in April 1980. His league debut came in October 1980 against Fulham at Craven Cottage. He played only six times for the Clarets before being released in 1982, joining non-league side North Shields. However, in September 1982, Anderson returned to professional football with Torquay United, signing on a free transfer and making his Gulls' debut on 18 September in a 1–0 home win against Darlington. In 1984 Anderson was involved in an altercation with the manager Bruce Rioch, which led to Rioch's resignation.
In March 1985, after 109 league games in which he scored 10 goals and twice being voted player of the year, Anderson was on his way himself, West Bromwich Albion paying only £20,000 for his signature. He played 140 league games, scoring 10 goals, for the Baggies, before moving to local rivals Walsall on a free transfer in August 1991. He spent only 1 season with the Saddlers, playing 26 league games and scoring 2 goals, before another free transfer move, this time to Hereford United in August 1992. In July 1994, Anderson returned to Devon, joining Exeter City on a free transfer after 70 league appearances (1 goal) for Hereford. He played a further 34 games, scoring 1 goal for the Grecians before being released in the summer of 1997. On his release he joined Devon County Football League side Teignmouth, joining Western Football League side Dawlish Town in November 1997.