Maryhill, Glasgow born goalkeeper Jim Watson began his football career with Cambuslang Rangers in 1908 and played for Earnock Rovers in 1909 before joining Scottish League club Hamilton Academical in 1910. He spent nine years at Douglas Park, interrupted by the First World War during which he served in the Army. He had a loan spell at Ayr United in 1915 and joined Dundee in 1919, making 32 appearances in their 1919-20 campaign, from where he moved to England to join recently elected Third Division (South) club Luton Town in the 1920 close season, making his Football League debut in their inaugural League fixture at Swindon Town in August. But he soon lost his place to Harry Bailey and played only four times in his only season at Kenilworth Road, and after suffering a dislocated shoulder he was released in March 1921.
He moved to Exeter City in the summer of 1921, joining them after a trial. Watson made his debut for Exeter City at Portsmouth in September 1921 and appeared in 10 consecutive matches before losing his place the Harry Fryer, playing twice more in their FA Cup defeat, after a replay to Bristol Rovers in December 1921 before leaving the club, returning to Scotland to play for Armadale in 1922, where he finished his career.