Born in Batley, Yorkshire, Hall made his debut in 1873, and came of age with an innings of 78 for a local Eighteen against the Australian XI in 1878. Thereafter, until 1892, he was a mainstay of Yorkshire County Cricket Club.
With George Ulyett, he formed a successful opening partnership for Yorkshire. They had eleven opening stands of over 100 and, against Sussex in 1885, they added 128 and 108 in the two innings. Against Middlesex in 1884, Hall scored 96 and 135. His finest season was 1887, when he scored 1,544 at an average of 41, 1,240 of them in first-class matches.
Hall carried his bat seventeen times in first-class cricket, a feat matched only by W. G. Grace and Cecil Wood. He played for the Players against Gentlemen five times, and captained Yorkshire a few times in the absence of the regular captain Lord Hawke.
Defensive by nature, Hall was not an attractive batsman, with his primary shot being the front foot defence. He was awarded a benefit match against Surrey in 1890, but he deferred it so that the injured Billy Bates could have his that year. Hall’s benefit match, against Surrey at Sheffield in 1891, earned him 570 pounds. After his active career ended in 1894, he served as a coach at Uppingham School.
A steward and member of Hick Lane Wesleyan Chapel, he was also a lay preacher in the Batley area, as well being a Liberal councillor for nine years. He also helped his fellow cricketers as Chairman of the Yorkshire Cricketers Benevolent Fund. In addition, he was secretary of Batley Rugby Club, at the time of the change over to the Northern Union.