MacDonald began his career in Glasgow with junior clubs St Roch’s and St Anthony’s, before signing for Scottish League Division One club Celtic on 19 March 1932. Playing as an outside left, he had a dream debut, scoring both of Celtic’s goals in a 2–0 victory over Partick Thistle in the final league match of the 1931–32 season. Though he built on his appearance record year-by-year to make 38 appearances during the 1934–35 season, the arrival of Willie Lyon and a cartilage problem saw MacDonald’s chances limited in 1935–36, making just 11 appearances during a season in which Celtic won the Scottish League Division One title for the first time in ten years.
MacDonald didn’t fully break into the team on a regular basis until the departure of Willie Buchan to Blackpool in November 1937. He made 31 appearances and scored 13 goals during the 1937–38 season, helping the Bhoys to the league title and the Empire Exhibition Trophy. MacDonald’s best season came in 1938–39, scoring 20 goals in 40 games and scoring a hat-trick in the Old Firm match on 10 September 1938. The outbreak of the Second World War in September 1939 saw competitive football suspended for the duration of the war, but MacDonald remained with Celtic, making 216 appearances and scoring 18 goals before the cessation of hostilities in May 1945. MacDonald departed Celtic after the war, having made 172 competitive appearances and scored 40 goals during his time with the club. He played in every position bar goalkeeper during his years at Celtic Park.