McNab began his career in 1972 with Greenock Morton where he made 14 appearances before 1974, becoming the club's youngest ever professional. He was signed by Tottenham Hotspur and became their youngest ever first team player at age 16. He made 72 appearances for Spurs, scoring 3 goals. He played for the Scottish national team at the U-15, U-18 and U-21 levels.
In November 1978 he was transferred to Bolton Wanderers for a fee of £250,000, making 35 appearances and scoring 4 goals, before Brighton and Hove Albion acquired his services for the fee of £220,000 in February 1980. During 1982 he played in loan spells at Leeds United and Portsmouth.
Then in 1983 he signed for £35,000 for Manchester City with whom he stayed until 1990. He was arguably City's player of the eighties, being voted Player of the Year in both the 1986–87 and 1988–89 seasons. A skilful and very combative defensive midfielder, Neil inspired a young team to promotion from the Second Division in 1989. He played 221 league matches for City and scored 16 goals.
He left for Tranmere Rovers in January 1990 for £125,000, the third six-figure move of his career, and played over 100 first-team games for them, including two Leyland-DAF Cup finals at Wembley.
He subsequently also enjoyed spells playing for Huddersfield Town, Ayr United, Darlington, Derry City, Witton Albion, and the Long Island Rough Riders in the USA.
Made his Derry debut in October 1993.
In the summer of 1994 he rejoined Manchester City as Youth Team Coach but lost his job in the managerial upheaval in 1997. He then coached at Portsmouth in their youth development programme. In October 2002 he was appointed manager of Exeter City, a position he held for just four months.
From 2008 through 2013, he coached several teams at Chiefs Futbol Club  soccer association.