McPherson started his career as a youth player with Rangers, but was unable to break in to the first team, spending a period on loan to Exeter City. In 1991 he moved to Kilmarnock, where he went on to play over 350 games.