Halsall sai Rooman MM-kilpailuissa 2009 hopeaa 100 metrin vapaauinnissa ajalla 52,87 ja sijoittui lisäksi viidenneksi 50 metrin vapaauinnissa. Budapestissa 2010 hän voitti Euroopan-mestaruuden 100 metrin vapaauinnissa ajalla 53,58 ja 4 × 100 metrin sekauintiviestissä, sai hopeaa 100 metrin perhosuinnissa ja 4 × 100 metrin vapaauintiviestissä sekä pronssia 50 metrin vapaauinnissa. Delhin Kansainyhteisön kisoissa 2010 hän voitti 50 metrin perhosuinnin ajalla 26,24. Lisäksi hän sai hopeaa 50 metrin vapaauinnissa sekä 4 × 100 metrin vapaa- ja sekauintiviesteissä ja pronssia 100 metrin vapaauinnissa. Shanghain MM-kilpailuissa 2011 hän oli neljäs 50 ja 100 metrin vapaauinnissa. Lontoon olympialaisissa 2012 hän sijoittui viidenneksi 50 ja kuudenneksi 100 metrin vapaauinnissa. Istanbulin lyhyen radan MM-kilpailuissa 2012 hän sai hopeaa 50 metrin vapaauinnissa ajalla 23,87.