Born in Witney, Moss was signed by Swindon Town as a seventeen-year-old winger from Witney Town in July 1969. He made his senior debut in January 1972, when he came on as a substitute against Hull City. His first start came three months later as Swindon beat Watford 2-0.
Moss soon became one of Swindon's star players, scoring 14 goals in 1974–75 and top scoring in 1977–78 with 16. This prompted interest from David Pleat's Luton Town, who signed Moss for £110,000 on 27 May 1978.
Moss came into his element at Luton, scoring twice on his debut against Oldham on 19 August 1978. Despite the club's 18th-place finish, Moss still scored 13 goals and also became Luton's regular penalty taker. He scored 24 goals in 1979–80, 8 from the penalty spot, and was Luton Town's top scorer. Moss spent the summer of 1981 across the Atlantic, on loan in the NASL to the Tampa Bay Rowdies, where he netted 9 goals in 22 appearances. After returning from loan, his Luton side raced to the Second Division championship for 1981–82, and the subsequent promotion that came with it. Moss spent one more year as a regular player, scoring nine league goals in 39, but then spent two more seasons as a bit-part player. He returned to Swindon on 26 June 1985 on a free transfer.
Moss made four more league appearances for Swindon, but then picked up an injury that forced him out of the League game. May 1986 saw him make a move to non-league Trowbridge Town, where he played out his career.
After retiring from professional football due to a serious Achilles tendon injury, he quickly moved to Oxford United to join the coaching staff under Mark Lawrenson. Then Brian Horton took over at the Manor Ground and Moss was promoted to First Team Coach, he remained at the club for the next five years until Horton joined Manchester City in 1993, Moss followed him and became City's Coach. He then, in 1995, moved to Huddersfield Town as Coach again under Brian Horton. In 1997, Horton was sacked along with Moss, Assistant Manager Dennis Booth and Coach Les Chapman.