McNab started out at his local club, Huddersfield Town, playing nearly seventy times in three seasons. He was signed by Bertie Mee for Arsenal in October 1966, and immediately won a place in the Arsenal side, making his debut against Leeds United October 15, 1968 and 1969 League Cup finals (both of which Arsenal lost, to Leeds United and Swindon Town respectively).
McNab made his debut for England on November 6, 1968 against Romania; McNab made four appearances in all for England, but never became a regular. However, he certainly had success domestically, winning the 1969-70 Inter-Cities Fairs Cup and then the Double in 1970-71. A stalwart in the back line alongside Pat Rice and Frank McLintock, McNab played 62 matches in Arsenal's double-winning season, missing just two games.
McNab continued to play through much of the early 1970s for Arsenal, including the FA Cup final loss to Leeds United in 1972; however he missed much of the 1971-72 season due to injury (with Sammy Nelson deputising). This was referenced in the film Fever Pitch, when Paul Ashworth (played by Luke Aikman) correctly predicts part of the lineup for the FA Cup Semifinal between Arsenal and Stoke City, on neutral ground at Villa Park in Birmingham: "McNab won't play. Bertie Mee wouldn't risk him."
McNab returned to play over 50 matches the following season. However, in 1973-74 he again got injured and shared the left back position with Nelson for the next two seasons. With Nelson six years his junior, by 1975 the 32-year-old McNab was told he was no longer needed at the club, and he was released on a free transfer in the summer of 1975. In total he played 365 matches for Arsenal, scoring six goals.
After leaving Arsenal, he played first for Wolves before trying his luck in the NASL in the United States with San Antonio Thunder. He then returned to England and played for Barnet, before moving back across the Atlantic to Canada to first play for, then coach the Vancouver Whitecaps, before retiring from the game completely. McNab then coached the Tacoma Stars of the Major Indoor Soccer League until being fired in December 1983. He remained with the Stars as an assistant until he was elevated to head coach in March 1985. During the 1983-1984 season, he played one game with the Stars.
McNab later emigrated to Los Angeles, California, where he still lives today, working as a property developer. In 1999 he was part of a consortium led by Milan Mandaric that took over Portsmouth in 1999, and briefly came out of retirement and took over as caretaker manager of the side after the sacking of Alan Ball in December 1999, until the appointment of Tony Pulis the following month.
As well as being a footballer, Bob McNab was a media personality in the 1970s, appearing on the panel for ITV's coverage of the 1970 World Cup, and he had a cameo role in the 1973 On The Buses episode "The Football Match". His daughter, Mercedes McNab is a notable actress.