Brown began his career at Albion Rovers, appearing over 100 times for the club after making his debut at the age of 16. In 1972, he played in a pre-season friendly against Chesterfield and impressed the club's management. Several months later, in December 1972, he joined the club, turning down a move to Brighton & Hove Albion. He quickly established himself in the first-team and attracted the attention of First Division side Sheffield United, joining the Blades on the final day of the transfer window in the 1973–74 season. He went on to spend five years at Bramall Lane, winning the club's player of the year award in 1975, before moving to the North American Soccer League with Detroit Express in 1979. He returned to Britain in 1982, spending a brief time at Cardiff City before joining Kettering Town as cover for the injured Steve Conroy. He made his league debut for the Poppies in 3–2 defeat to Frickley Athletic and made 18 appearances during the 1982–83 season. At the start of the following season, he rejoined Chesterfield as the club began suffering a financial crisis. He competed with Chris Marples for the starting spot for several years before Marples departure to Stockport County in 1987. Several years after officially retiring Brown was named as a substitute on two occasions in his forties, the 1995 Football League Third Division play-off Final and the first round of the FA Cup in 1997, at the age of 45.
Since 1986, he has been the commercial manager at Chesterfield. During his time in the role, Brown, along with three other members of staff, began keeping records of the club's financial activity under chairman Darren Brown after becoming concerned about his business practices. He later testified in front of a Football League panel against the then chairman and the records were eventually used to help convict Darren Brown of fraud in 2005, being sentenced to four years in prison. Brown later stated "we knew the proper way to run the club. In the very first week, Darren Brown was paying money out with no invoices, so we began to keep a log. We had to stand up in front of Darren Brown and tell the truth, which we did to get Brown out and save the club". He also helped the club in a number of other capacities, including running the club lottery and writing the match programmes.