Pada Olimpiade Musim Panas 2012 di London, Halsall berkompetisi dalam lima acara. Halsall mencapai semifinal 100m kupu-kupu, posting waktu 58,52, jauh dari musim terbaiknya 57,56 yang ditetapkan pada bulan Maret. Halsall membuat final 100m gaya bebas dan 50m gaya bebas
, finis 6 dan 5 masing-masing. Dalam balapan 4×100 m gaya bebas, Halsall berenang di leg kedua dengan split 53.29, membantu tim Inggris finis di posisi ke-5. Pada final 4×100 m medley relay tim Inggris finis di tempat ke-8, dengan Halsall memberikan kaki jangkar 54,08.