Morgan began his career at Tranmere Rovers, making his debut on 27 August 1996 in a 2–0 victory over Port Vale before spending time on loan at Conference National side Altrincham. The following season, Morgan began to establish himself in the first team at Prenton Park, making 23 appearances in all competitions. Rovers fought their way to the 2000 League Cup Final and with Morgan as an unused substitute, they were defeated 2–1 by Leicester City. However continuing injury problems restricted his first team appearances in the following years and, in 2002, he was allowed to join Doncaster Rovers on a free transfer.