The club was established in 1885 as Apsley End. They joined the West Herts League in 1891 and were renamed Apsley Football Club two years later. The club were league champions in 1894–95 and 1897–98, and in 1898 they were founder members of the
Hertfordshire Senior County League. They went on to win the league in its second season, 1899–1900. The league was split into two divisions in 1901, with Apsley placed in the Western Division. They were divisional champions in 1902–03 and won the championship play-off against Northern Division champions St Albans Amateurs. The club had continued playing in the West Herts League and won the title for a third time in 1904–05. They were Division Two runners-up in 1923–24, after which league reorganisation saw them placed in Division Two A. They were Division Two A runners-up in 1926–27, but were demoted to Division Two West following further league reorganisation in 1928. In 1938–39 they reached the first round of the
FA Cup for the first time, losing 2–1 at
Bromley. In 1955 the club was renamed Hemel Hempstead Town. They were Delphian League runners-up in 1961–62, and when the league was dissolved in 1963, they following most other Delphian League clubs into the new Division Two of the
Athenian League. They were promoted to Division One at the end of the 1964–65 seasons, and were Division One runners-up the following season, earning promotion to the Premier Division. However, after finishing bottom of the Premier Division in 1967–68, the club were relegated back to Division One. A second successive relegation followed in 1968–69 when they finished second-from-bottom of Division One. In 1971 the club merged with Hemel Hempstead United from the
South Midlands League to form Hemel Hempstead Football Club. The new club took Hemel Hempstead Town's place in Division Two of the Athenian League, but moved to Hemel Hempstead United's Vauxhall Road ground. The club remained in the Athenian League until joining Division Two of the
Isthmian League in 1977. League reorganisation in 1984 saw them placed in Division Two North, where they remained until further reorganisation in 1991 led to them playing in Division Two. They finished bottom of Division Two in
1996–97 and were relegated to Division Three, but won the Division Three title the
following season to earn promotion back to Division Two at the first attempt. In 1999 the club was renamed Hemel Hempstead Town for a second time. They won Division Two in
1999–2000 but were denied promotion due to their ground failing to meet the necessary criteria. They were moved to Division One North in 2002, and a sixth-place finish in
2003–04 was enough to secure promotion as the creation of the
Conference North and
South led to many clubs moving up the leagues. At the same time the club were transferred to the
Southern League and placed in its Premier Division. The
following season saw the club finish in the relegation zone, resulting in relegation to Division One West. However, a fourth-place finish in
2005–06 meant the club qualified for the promotion play-offs; after beating
Swindon Supermarine 3–0 in the semi-finals, they won the final against
Brackley Town 3–2 to earn an immediate return to the Premier Division. In
2006–07 Hemel Hempstead finished fifth in the Southern League Premier Division, qualifying for the play-offs, in which they lost 3–1 to
Team Bath. Another fifth-place finish in
2008–09 led to another play-off campaign that saw them lose 4–3 on penalties to
Farnborough in the semi-finals. The club finished fourth in
2012–13; in the play-offs they won 2–0 against
Chesham United in the semi-finals, before losing 5–4 on penalties to
Gosport Borough in the final. The
following season saw the club win the Southern League Premier Division title, earning promotion to the
Conference South. In
2014–15 they reached the first round of the FA Cup, eventually losing 3–1 at
Bury. A fifth-place finish in
2017–18 saw the club qualify for the play-offs. However, they were beaten 3–2 in a penalty shoot-out by
Braintree Town in the qualifying round. ==Crest and nickname==