Background
Garrett was born in Lesmahagow, South Lanarkshire.
Garrett was born in Lesmahagow, South Lanarkshire.
He played as a forward. He played for Lesmahagow Juniors before coming to England as a 17-year-old to sign for Preston North End. He made his debut in the Football League on 5 February 1938 in the First Division match away against Birmingham.
He scored twice in 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. In May and June 1939, Garrett toured North America with a Scottish Football Association XI, scoring 19 goals from 8 matches.
In the 1938-1939 season he had scored 29 goals in all competitions, of which 17 were in the Scottish League, and 24 (21) 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-1944 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-1947 season he scored 32 goals in all competitions, of which 26 were in the league, 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 lieutenant 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, where he finished his Football League career at the end of the 1950-1951 season.
He had spells in non-league football with Wisbech Town and Holbeach United. In the 1960s, Garrett worked for the Government Printing Office in Bristol.
He died in the city in 1994.