From the time he began playing organized hockey as a young boy in Regina, Jim McGeough had a natural scoring talent. He consistently led his team and league in scoring year after year. By the time he was 16, McGeough was garnering attention while playing for the Regina Capitals of the SJHL. In 57 games he potted 56 goals and 133 points. He was then called up to the Regina Pats for the last few games of the 1979-80 WHL season and was on the roster as the Pats hosted the 1980 Memorial Cup. But the Pats lost three of their four round-robin contests. Their only victory was a one-sided 11-2 drubbing of the Cornwall Royals, who ironically went on to win the Memorial Cup that year, topping the Peterborough Petes in a thrilling 3-2 overtime match.

In 1980-81 McGeough joined the Billings Bighorns and had a great offensive season, netting 49 goals and 91 points while racking up 139 minutes in penalties on a tough Billings team which also included the likes of Gord Kluzak, Bob Rouse, Sheldon Currie and Monty Trottier. The team was one of the most penalized in the WHL with four players having over 200 minutes in penalties and 12 with over 100 minutes in the box. As a team they registered a staggering 2,875 minutes in the sin bin which is just under 48 hours, or two full days.

The Washington Capitals selected McGeough in the sixth round of the 1981 NHL Entry Draft, 110th overall. That fall he returned to Billings and had put together a spectacular offensive season, pouring in 93 goals and 159 points in 71 games. In his final year with the organization, the franchise relocated to Nanaimo and were renamed the Islanders. McGeough again led the team in scoring, although his numbers were down significantly. He scored 76 goals and 132 points in 72 games. Although McGeough had enjoyed tremendous individual success in Junior A, the same could not be said for Billings and Nanaimo in the overall bigger picture.

In 1983-84 McGeough played his pro rookie season in the AHL with the Hershey Bears. He impressed the Capitals by averaging almost a point per game and the following year was called up as an injury replacement for eleven games. In March, 1985 he was traded to the Pittsburgh Penguins for Mark Taylor. He played parts of three seasons with the Penguins but was never able to establish a permanent place for himself on the club's roster. Although he last played in the NHL back in 1985-86, McGeough continued to play competitive hockey right on through the 2000-01 season making stops in Austria, Britain, and several of the minor leagues in North America. He retired after the 2000-01 season after skating for the Lubbock Kings.

McGeough also played four years of Roller Hockey International in the mid 1990's.