Callaghan played football for junior club St Anthony's before moving into the senior ranks with Third Lanark. He represented the club in off-season five-a-side tournaments, was in their Second Division team by September 1925, scored in a 4–3 win against Dunfermline Athletic in November, and later that month, "spelt danger every time he got away" as Thirds beat Armadale 3–0. He helped Thirds take First DivisionAberdeen to a replay in the quarter-final of the 1925–26 Scottish Cup, was "swift and sharp" in a draw with Bathgate in September 1926, and was often picked out as the best of Thirds' not always top-class forwards. In December, First Division Dunfermline took Callaghan on loan until the end of the season. He made his debut in a draw with Morton, controlling the ball well and creating two scoring chances that were not taken. He played regularly, scoring twice in a 4–3 defeat of Dundee, and creating one goal and scoring another in a 4–4 draw with Dundee United a few days later. At the end of the season, Callaghan went south to England, where he signed for Football League First Division club Middlesbrough. He scored in a friendly against an Army XI, but never managed to break into the league side, and rejoined Third Lanark, who had been promoted in his absence. He went straight into the first team for the new season, scored in a 4–0 win against Airdrie in early September, and soon afterwards sustained an injury sufficiently serious for his club to sign a replacement. His return to fitness was not accompanied by a return to the first team. He was in and out of the side for what remained of the season, at the end of which he was transfer-listed at a reduced fee. His fee was again reduced in the 1930 close season, but with no takers. He was one of several Scottish players to help Glentoran win the 1930–31 Irish Leaguetitle, and eventually he returned to England, where he signed for Darlington in November 1932. He played twice in the Third Division North and once in the FA Cup before losing his place to Charles Coates, and his contract was cancelled in January 1933.