Lesmahagow, Lanarkshire born centre forward Archie Garrett played for Burnbank Athletic in 1934 and then Lesmahagow Juniors and Larkhall Saints in 1935 before joining Scottish League Airdieonians later the same year. In December 1937 he moved to England to sign for First Division Preston North End. He made his Football League debut in February 1938 in the match at Birmingham. Preston rested players to save them for an FA Cup tie against Arsenal, so the 18-year-old Garrett came in at inside left, and was part of “a footballing feast of delightful, imaginative, attacking football” which his club won 2-0. He scored twice in a 4-1 win over Derby County that April, his only other League game for North End before returning to Scotland in December 1938 to join Heart of Midlothian, who paid a club record fee of £4,000 for his services.
Hearts had a high-scoring run in the 1939 Scottish Cup: Garrett scored six as they beat junior club Penicuik Athletic and another four as they beat Highland League side Elgin City 14-1. Drawn against Celtic in the Third Round, in what was the first all-ticket match at Tynecastle, Garrett equalised “in the dying seconds” to earn a replay, which Celtic won 2-1 with a goal that appeared not to have crossed the line. In May and June 1939, Garrett toured North America with a Scottish Football Association XI, scoring 19 goals from 8 matches. In the 1938-39 season he had scored 29 goals in all competitions, of which 17 were in the Scottish League, and 24 (21 in the League) the following season, by which time the Second World War was under way. During the War he played a few games for Hearts in the 1943-44 season, and also made guest appearances for Northampton Town and Bristol City.
He returned to Hearts after the War, but his stay was brief: he and teammate Jimmy Briscoe signed for Northampton Town, of the English Third Division (South) in September 1946. Garrett maintained his scoring record: in the 1946-47 season he scored 32 goals in all competitions, of which 26 were in the League, 4 coming in an FA Cup second round win over Peterborough United in December 1946, and he added another 9 to his League tally before joining Second Division side Birmingham City in November 1947, for what was then a club record fee received of £10,000. He went straight into the starting eleven, but scored only once in his first six games, lost his place, and was unable to regain it. The following season, in the First Division, Garrett had a run of games in place of Harold Bodle: he scored four goals, of which one was the only goal of the game, and two secured 1-1 draws, yet as soon as Bodle became available for selection, Garrett was dropped.
In December 1948, he returned to Northampton Town after 5 goals in 19 appearances, where he finished his Football League career at the end of the 1950-51 season having scored 56 goals in 99 games for The Cobblers across his two spells at The County Ground. He had spells in non-league football with Wisbech Town in 1951 and Holbeach United in 1952 before retirement.