Morgan was born in Edinburgh, and began his career with English Premier League side Blackburn Rovers, but failed to break into the first team, and instead was released.
After falling out of favour, Morgan was shipped off to Ross County at the tail end of the 2006–07 season, where he made 5 appearances, and failing to score any goals.
He debuted for Kilmarnock in their 1–0 home defeat to Falkirk on 2 January, a match that many felt should have been postponed due to the death of Motherwell captain Phil O'Donnell the previous weekend.
He joined St Johnstone on a six-month loan on 26 August 2008,[2] and returned to Kilmarnock at the end of that deal.
After leaving Stenhousemuir, Morgan signed for local amateur team Musselburgh where he played out the season making 24 appearances and scoring 6 goals.