As a youngster Brown attended Alloa Academy, represented Clackmannan County County Cricket Club and played football at under-18 level for Scotland, and played for Feltham Rugby Football club as a competent fullback, choosing to focus on cricket shortly afterwards.
He first came to the attention of Warwickshire County Cricket Club in 1992 whilst playing for Scotland, he signed for the county and made his debut in the same year. He went on to spend his entire career with the county, for whom he has scored over 12500 runs and taken over 850 wickets at first-class and list A cricket.
In 1997 Brown was named in England's one-day squad for four nations Champions Trophy at Sharjah. He made his debut on 11 December in England's narrow 7-run victory over their hosts, in this game Brown took no wickets and scored 6 runs. However, it was England's next game, on 13 December against the West Indies, that Brown gave his greatest performance as an England player.
He dismissed Philo Wallace with the opening ball of the game before going on to dismiss his Warwickshire County Cricket Club teammate Brian Lara, then at the height of his powers, leg before wicket two balls later. This opening allowed England to take an easy victory. This game aside, Brown failed to excel at one-day cricket, and the 1998 tour of the West Indies was to prove his last.
He played for Scotland in the 2005 ICC Trophy, taking 11 wickets in the tournament, and scoring 59 runs in the final, to help Scotland win the competition. As a result, Scotland gained temporary One-day International status, and Brown has since played ODI cricket for Scotland in the 2006 European Cricket Championships, 2007 World Cricket League and 2007 Cricket World Cup.
In a twenty20 fixture between Warwickshire County Cricket Club and Northamptonshire Steelbacks, Brown suffered a severe Achilles tendon injury that could yet end his career.
During the 2003 Cricket World Cup, Brown coached the Namibian team. He also coached them in South African domestic one-day cricket in the 2002/03 season, playing one game as an overseas player. Outside of cricket Brown works as a PE teacher.
At the end of the 2007 season, Brown retired from cricket to take up a coaching role at Warwickshire County Cricket Club. He was sacked despite having had success with the team by winning won two trophies, the T20 Blast in 2014 and 2016 Royal London One-Day Cup.
In January 2017, Brown was appointed head coach of the United Arab Emirates national team, succeeding interim coach Owais Shah.