Born in Selkirk, McMahon started his career with Woodburn F.C. then Darlington St Augustines before relocating to Edinburgh. There he played with Leith Harp and Hibernian before a first venture to the professional game in England with Burnley. He returned to Hibs in February 1889 but found the club floundering due to the mass recruitment of their players by Celtic.
McMahon eventually followed the path of other former Hibernian favourites, such as Willie Groves, to Celtic in 1890. He played for the Glasgow team until 1903, making at least 217 appearances and scoring 171 goals. Equally adept at centre forward or inside left, he won three Scottish Cup medals, in 1892, 1899 and 1900, and four Scottish League medals, in 1893, 1894, 1896 and 1898. His first moment of glory came in the 1892 Scottish Cup Final replay, when he scored two goals in the 5-1 victory over Queen’s Park. He also scored in the 1899 cup final when Celtic beat Rangers 2-0, and in the 1900 final when they beat Queen’s Park 4-3. In 1892, following his cup final display, McMahon returned to professional football in England with Nottingham Forest but, after concerted efforts from the Celtic committee, returned to Glasgow without having played for the East Midlands side.