2012 Londoni suveolümpiamängudel osales Halsall viies võistlusvaldkonnas. Halsall jõudis 100 meetri liblikaga poolfinaali, postitades aja 58,52, mis on tema hooaja parim 57,56 märtsis. Halsall jõudis 100 ja 50 meetri vabastiilis finaali.
, lõpetades vastavalt 6. ja 5. 4 × 100 m vabastiilis Halsall ujus teise etapi 53.29-s, aidates Briti meeskonnal lõpetada 5. kohal. 4 × 100 m vaheseisundi finaalis lõpetas Briti meeskond 8. kohal, kus Halsall andis ankrusammud 54.08.