Hall began working in a colliery in 1910, then served in the 1st Life Guards during World War I. After the war, he worked on the railways. He also became active in the National Union of General and Municipal Workers, joined the Labour Party, and studied at Ruskin College, Oxford.
Hall was elected to Durham County Council in 1934, serving until 1950, and became a Justice of the Peace in 1939. In 1943, he became the district chairman of his union, and he also worked part-time as a lecture on Economic and Social History for the National Council for Labour Colleges. He was elected in Gateshead West at the 1950 general election, holding his seat in 1951 and 1955. He died shortly after this final electoral success.
- Who was who, Vol. 5 (1961), p.472
- Hansard 1803–2005: contributions in Parliament by John Hall