Halsall tävlade för Storbritannien i fem olika grenar vid olympiska sommarspelen 2012 i London. Halsall åkte ut i semifinalen på 100 meter fjärilsim, där hon simmade på tiden 58.52. Halsall tog sig till final på 50 meter frisim och 100 meter frisim, där hon slutade på femte respektive sjätte plats. Hon tog sig även till final med Storbritanniens lag på både 4 x 100 meter frisim och 4 x 100 meter medley, där de slutade på en femte respektive åttonde plats.