Halifax looked to have sealed a shock win when Luke Adamson ran in a try which gave the away side a four-point lead, but a huge error by Ryan Fieldhouse gifted the Centurions a win.
Dane Manning and Kurt Haggerty were both given their marching orders in a game which threatened to become more of a boxing match than rugby league.
The visitors struggled to cope with the division’s form side early on, finding themselves 14 points down inside 15 minutes.
Winger Jonathan Pownall scrambled over in the corner, with Oliver Wilkes adding to the Leigh lead straight after.
Halifax looked unsteady, but Peter Fox and Manning should have scored, but saw their efforts ruled out.
Gareth Potts did eventually get on the scoresheet as Karl Harrison’s men finally got the try their efforts deserved.
Greg McNally scored soon after to increase the Centurions’ advantage, but it was only a momentary lapse.
On the stroke of half-time, Steve Tyrer plucked Simon Brown’s high kick out of the air superbly to reduce the arrears to just six going into the break.
Punches at the start of a spiky second half saw both sides down to 12 men, which served to spur on Halifax.
They scored two in quick succession, with Luke Ambler crossing before Adamson to put Fax in an unlikely lead.
But when Martyn Ridyard put in a speculative kick towards the try line, Fieldhouse inexplicably let the ball bounce into the hands of Wilkes, who looked shocked to score such an easy try which sealed a dramatic match.
Leigh: McNally, Pownall, Hankinson, Haggerty, Kay, Ridyard, Brierley, Spencer, Beswick, Wilkes, Sarsfield, Goulden, Barlow. Substitutes: Penkywicz, Bate, Acton, Emmitt.
Halifax: Fieldhouse, Fox, Cowling, Tyrer, Potts, Brown, Mennell, Ambler, Holden, Tonks, Manning, Divorty, Adamson. Substitutes: Bracek, Johnston, C. Casey, Spencer.
Referee: C Leatherbarrow (RFL).
Leeds will play Warrington in the first semi-final at Langtree Park, on Saturday, August 9 (2.30), with Widnes and Castleford meeting at Leigh Sports Village the following day (3.00).
Former Hull KR stand-off Blake Green will join Melbourne Storm when he leaves Wigan Warriors at the end of the season.
Former Bradford Bulls half-back Kyle Briggs has moved to Dewsbury Rams on a month’s loan from Featherstone Rovers.