Cain started his career in his native Scotland where he played as an amateur for both Airdrieonians and Glasgow Rangers. He turned professional in the summer of 1889 when he was offered a contract by Everton and he duly moved south of the border to join the Lancashire club. Making his Football League debut for the club in November 1889 he played a number of games during the rest of the season before joining nearby Bootle in the summer of 1890. After only one season at Bootle, Cain agreed to join Sheffield United, then of the Northern League, in the summer of 1891 and would go on to become one of the clubs most enduring players. He immediately became a regular in the United side and played 66 games in his first season alone; a mixture of league, FA Cup and friendly fixtures. United were elected to the newly formed Second Division of The Football League for Cain's second season and he was part of the side that won promotion at the first attempt, finishing second in the table but winning a test match with Accrington to seal their place in the First Division. Described as 'a big man', though he only took a size five boot, the local media claimed that his game was 'strength personified' and that he 'kicked brilliantly without a semblance of effort' and 'tackled shrewdly and generally fairly'. Cain was virtually ever present for the remainder of his tenure at Bramall Lane, making 106 consecutive Football League appearances before his departure. With Sheffield United having been crowned Division One champions in the 1897–98 season, and shortly after receiving a benefit match, Cain opted to sign for Tottenham Hotspur in the summer of 1898. The move infuriated United's football committee as Tottenham were not required to pay a transfer fee due to them not being members of the Football League. Cain, however, was paid £70 as part of the deal but United cancelled the order for his Championship medal and withheld payment of his benefit bonus. The move was to prove an unhappy one for Cain; unable to settle in London he quickly contacted Sheffield United to enquire whether he could return to the club but his request was rejected by the committee, still angry about his previous actions. Leaving Tottenham in 1899 Cain signed for Scottish side Albion Roversin September of that year. United had retained Cain's league registration, and as such accepted a £75 fee from Small Heath, considerably less than the £250 they had sought from Tottenham, allowing Cain to move back to England in November 1899. Cain made no league or FA Cup appearances for the Birmingham club however and his football career was all but over, forcing him to return to his previous career as a miner.
International career
Cain played in an international trial for his native Scotland in March 1898, appearing in an 'Anglo Scots vs Home Scots' game, but was not selected to play for his country.