Auf Empfehlung von Newsy Lalonde hatten die Montréal Canadiens Interesse an ihm und am 23. August 1926 unterschrieb er dort einen Vertrag. Bei seinem Debüt in der NHL war Hainsworth schon 31 Jahre alt. Der kleine Mann füllte bei den Canadiens die Lücke, die Georges Vezina hinterlassen hatte. In seinen ersten drei Jahren gewann er die Vezina Trophy, stand aber häufig auch im Schatten der anderen Torhüter seiner Zeit. Schuld daran war seine unspektakuläre Spielweise. Wo andere Torhüter wie Charlie Gardiner mit Paraden brillierten stand George einfach nur am richtigen Platz und schien mühelos die Schüsse abzuwehren. Mit dieser Art war er eher der Spielverderber, während andere zu Publikumslieblingen avancierten. In der Saison 1928/29 verdarb er seinen Gegenspielern das Spiel, als er in 22 von 44 Spielen kein Gegentor zuließ. Bis heute hat es kein anderer Torwart auf mehr als 15 Shutouts gebracht, obwohl fast doppelt so viele Spiele pro Saison gespielt werden. 1930 und 1931 gewann er zweimal den Stanley Cup. Im Tausch für Lorne Chabot wechselte er 1933 zu den Toronto Maple Leafs. Auch hier war er ein Meister seines Fachs. Als man zur Saison 1936/37 entschied auf den jungen Turk Broda zu setzen kehrte er noch einmal für vier Spiele zu den Montreal Canadiens zurück, bevor er seine aktive Karriere beendete.