Er wechselte 1922 von St. Rochs zu Celtic. Für die Saison 1923/1924 wurde er an den FC Clydebank ausgeliehen. Zwischen 1922 und 1937 konnte er 408 Ligatreffer markieren (bis auf 13 Tore für Clydebank alle für Celtic). Er war Torschützenkönig der ersten schottischen Liga in den Saisons 1926/27, 1927/28 und 1935/36.[1] Er gewann, zusammen mit seiner Mannschaft, zwei Meisterschaften (1925/26 und 1935/36) und fünfmal triumphierte mit dem Nationalpokal in den Händen. Außerdem beteiligte er sich an 10 Spielen der Saison 1937/38, die für Celtic, schon ohne ihn, auch siegreich sein würde.
Zwischen 1928 und 1933 bestritt sieben Spiele für die Nationalmannschaft (alle im Rahmen des British Home Championship) und erzielte darin sechs Tore. Bei einer der Vorlagen des Turniers, nämlich 1930/31, wurde Schottland Mitsieger, wozu der 2:0-Sieg über England (den Direktkonkurrenten) im letzten Spiel, mit einem Tor von McGrory, beitrug.
Insgesamt gelangen ihm in seiner Karriere 550 Tore in Pflichtspielen (ein Rekord im britischen Fußball), davon 522 für Celtic. Diese beiden Werte, sowie die erwähnten 408 Tore in den Ligaspielen, sind Höchstmarken und machen McGrory zum Spitzenreiter der Geschichte des britischen Fußball und des Vereins Celtic Glasgow bzw.
Nach seinem Karriereende wurde er Trainer bei Kilmarnock und kehrte 1945 schließlich wieder zu seinem Heimatverein in den Celtic Park zurück, wo er die Position als Cheftrainer 20 Jahre innehatte, indem er einmal Ligameister wurde und zweimal den Nationalpokal sowie zweimal den Ligapokal erwarb. Danach wurde er von Jock Stein beerbt.