Hall nació en Maryland, hijo del capitán William Hall, un granjero y veterano de la Guerra Revolucionaria. Hall mostró talento para la música a una edad temprana y fue enviado a Filadelfia para estudiar con Alexander Reinagle. Más tarde se unió al ejército de los Estados Unidos como músico y sirvió en la Guerra de 1812.
Durante la guerra, Hall estuvo destinado en Fort McHenry en Baltimore, Maryland. El 13 de septiembre de 1814, las fuerzas británicas atacaron el fuerte, y Hall se inspiró al ver la bandera estadounidense todavía ondeando sobre el fuerte para escribir las palabras de "The Star-Spangled Banner". Posteriormente, John Stafford Smith le puso música al poema y se convirtió en el himno nacional de los Estados Unidos.
Después de la guerra, Hall continuó sirviendo en el ejército hasta 1826. Luego se retiró a Chester, Pensilvania, donde murió en 1829 a la edad de 56 años.