Morgan played for Etruria Church, Goldenhill Villa, Tunstall Park and Goldenhill Warriors before joining Port Vale in the summer of 1910. He scored twice on his debut at inside-right in a 4–2 win at Audley in a Burslem Park Cup game. However he was forced into retirement due to injury the following year, having played just a further four games for the club.
Morgan was offered employment at Vale following his injury. He worked as a scout, assistant secretary and reserve team manager before being appointed the first time manager in October 1929. Before being fired in June 1932 he led the club to the Third Division North title and a club record 5th place finish in the second tier. He once more became assistant-secretary and then was later made secretary-manager again in 1937.
Rather than risk being replaced once again, Morgan accepted the role of Wrexham manager in April 1939.