MacDonald began his career in Glasgow with junior clubs St Roch's and St Anthony's, before signing for Scottish League First Division 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 First Division title for the first time in 10 years.KilmarnockMacDonald returned to Southern League 'A' club Kilmarnock in 1945, after a period guesting in 1940 during the Second World War. He remained at Rugby Park until October 1946. MacDonald would later play for the club again while manager during the 1951–52 season. He made 10 appearances and scored one goal across his two spells with the club.
Brentford
MacDonald moved to England to join First Division club Brentford for a £1,500 fee in October 1946. Manager Harry Curtis played him as an inside forward, but a broken jaw hampered his progress and the Bees were relegated to the Second Division at the end of the 1946–47 season. Injury to Bill Gorman saw MacDonald take up a position at full back in September 1947 and he kept the position until his retirement at the end of the 1948–49 season. He made 93 appearances and scored one goal during his time at Griffin Park.
MacDonald's coaching career began which still a player at Brentford and he held a player-coach role during the 1948–49 season.
Kilmarnock
MacDonald took up his first managerial appointment with former club Kilmarnock in May 1950. He turned the ailing club into a competitive force in the Scottish Second Division and took the club to fifth, fourth and second-place finishes by the end of the 1953–54 season, which won Killie promotion to the First Division. MacDonald also brought the club further success in the cups, reaching the 1952 Scottish League Cup Final and the 1957 Scottish Cup Final. He departed the club at the end of the 1956–57 season.
Return to Brentford
MacDonald returned to Brentford, then having fallen to the Third Division South, as manager prior to the beginning of the 1957–58 season. He instantly turned around the club's fortunes, using a largely home-grown squad to push for promotion to the Second Division during the season, though an injury to Len Newcombe would ultimately contribute to a second-place finish. With an ageing squad, MacDonald third and sixth-place finished in 1958–59 and 1959–60, before toying with relegation during the 1960–61 season. The Brentford board's decision to shrink the playing squad and to retain a number of players on a part-time basis contributed to the club's relegation at the end of the 1961–62 season. New chairman Jack Dunnett pumped money into the club in 1961 and MacDonald's signings of Johnny Brooks, John Dick and Billy McAdams in 1962 saw Brentford win the 1962–63Fourth Division title at a canter. MacDonald remained with Brentford until January 1965, when he announced he would be departing Griffin Park. He intended to carry on in his position until the end of the 1964–65 season, but was given a leave of absence on 2 February 1965 by chairman Dunnett. For his achievements with the Bees, MacDonald was later inducted into the club's Hall of Fame.
Return to Kilmarnock
On 26 January 1965, MacDonald agreed a £4,000-a-year contract to return to Kilmarnock as manager on 1 July 1965. The club had finished the 1964–65 season as First Division champions for the first time in the club's history, but MacDonald could not build on that and accumulated a third and two seventh-place finishes, though he took Killie to the semi-finals of the 1966–67 Inter-Cities Fairs Cup. He was sacked on 2 April 1968.
MacDonald was born in Glasgow to parents from South Uist and was known as 'Calum' to his friends and teammates. After his retirement from football management, MacDonald went into business as a physiotherapist and chiropodist in Troon. MacDonald died on 26 September 1999.