Wilson was born in Wishaw, Lanarkshire. After starting at Overtown Athletic as a junior player, he joined Greenock Morton in January 1928. He spent six seasons at the 'Ton, and was in the side that won promotion to Scottish Division One in 1928–29. In May 1933 he was signed by Arsenal, initially as cover for Frank Moss. He made his debut against Aston Villa on 10 March 1934 after Moss picked up an injury; Arsenal won 3–2. Wilson remained a fringe player in his first two seasons for Arsenal, playing only fifteen times, including the last nine games of the 1934–35 season after Moss dislocated his shoulder – although Arsenal won the First Division, Wilson did not qualify for a medal. Moss's injury did not heal and Wilson found himself as the Gunners' No. 1 throughout the 1935–36 season; he played 43 matches that season and kept goal in that season's FA Cup final against Sheffield United, which Arsenal won 1–0 thanks to a Ted Drake goal. However, Wilson's performances were not strong enough for manager George Allison's liking, and Arsenal signed not one but two goalkeepers that summer, George Swindin and Frank Boulton. Wilson only played two matches in 1936–37, and ten in 1937–38 – in which Arsenal won the title again, but Wilson again missed out on a medal. He looked to have become the club's third-choice goalkeeper; nevertheless he stayed on, and after Boulton was sold in 1938 Wilson and Swindin shared the goalkeeper's jersey for 1938–39, with both men playing in 22 matches that season. World War II then intervened, and competitive football was halted. Wilson returned to Scotland in 1939, joining St Mirren. In all he played 90 matches for Arsenal. He later had a brief spell at Brighton and Hove Albion, playing a single Third Division South match in 1947–48. After retiring from playing, Wilson pursued a career as a trainer and physiotherapist, starting out at Brighton before going to work for Birmingham City, Sunderland and Blackpool, as well as Kent County Cricket Club. He emigrated to the United States in 1967 and worked as a physio for the Boston Beacons of the NASL. He died in March 1971, aged 62.