Halsall was married to former Coronation Street and Wild at Heart actress, Lucy-Jo Hudson. They met on set and began dating in 2005. They married on 13 June 2009 in Cheshire. On 18 February 2013, via Twitter, the couple announced they were expecting their first child, a baby girl. On 8 September 2013, Hudson gave birth to their daughter, 9 days after her due date, named Sienna-Rae. The couple announced they were splitting in March 2016, and they got back together after several weeks apart. In May 2018, they announced that they were divorcing.