Dungannon Swifts club captain Seanan Clucas’ injury-time penalty kick rescued a share of the spoils for the hosts as Ballymena United held the lead on two occasions but left with honours even.
Cathair Friel’s sharp finish broke the deadlock following a miscue by Swifts goalkeeper Sam Johnston.
However, the Swifts hit back early in the second half to level off Ryan Waide on his debut following a loan switch from Linfield.
Substitute Ross Lavery steered home a free-kick to hand Ballymena control on 88 minutes.
However, the late drama continued with a penalty kick awarded and Clucas making no mistake from the spot on 91 minutes.
7: McCullough snapshot clears the crossbar after racing into the box to connect to Mayse’s scooped cross
11: Carvill’s initial corner-kick is cleared but the ball is fed back out, with the resultant whipped cross flashing across the face of goal begging for a final touch which didn’t arrive
16: GOAL - Dungannon Swifts 0 Ballymena United 1 (Friel)
Johnston’s attempted clearance lacks height and Harpur intercepts then picks out Friel, who steers a low shot into the corner
19: Sweeping angled pass from deep by Addis to find Mayse wide on the right of the area - but King intercepts his delivery
20: Carvill reacts to a deflected ball but Glendinning is quick to race out and block the shot
31: Golden opportunity for Ballymena to double the lead as Addis moves forward and floats an angled ball into the danger area but Millar ends his forward run by heading wide from a great position
42: Growing Ballymena pressure - with McCullough’s free-kick bouncing around in the box after McGuinness earlier had to be alert to hook clear Millar’s back-post header into the danger area
H-T: Dungannon Swifts 0 Ballymena United 1
47: GOAL - Dungannon Swifts 1 (Waide) Ballymena United 1
Debut goal for Linfield loan signing Waide as he reacts first to slot home after Glendinning can only push out Smyth’s initial effort
Waide had picked out Smyth, after good work by Lowe on the right, then latched on to the subsequent loose ball
49: Swifts sharp at the start of the second half as Lowe and Smyth link up to cut open the Ballymena backline - but Glendinning drops low to save
58: YELLOW CARD - Ryan Mayse (Ballymena United) and Caolin Coyle (Dungannon Swifts). Booking apiece following an exchange between the pair
67: SUBSTITUTION (Ballymena United) - Lavery on for Winchester
68: SUBSTITUTION (Dungannon Swifts) - Patton for Campbell
72: Substitute Campbell attacks Lowe’s curling cross but, under pressure, cannot steer it past Glendinning on the run
74: SUBSTITUTION (Ballymena United) - McGrory on for Kane
75: Good work again by Smyth to find Waide, who fires goalwards from distance but Glendinning is behind the drive
77: Mayse has a goal ruled out by the offside flag - for the second time in the second half, the first on 63
81: YELLOW CARD - Seanan Clucas (Dungannon Swifts)
82: Johnston alert to hold Millar’s long-range free-kick
85: SUBSTITUTION (Ballymena United) - McGinty on for Harpur
87: YELLOW CARD - Caomhan McGuinness (Dungannon Swifts)
88: GOAL - Dungannon Swifts 1 Ballymena United 2 (Lavery)
Substitute Lavery is fouled then he steps up to sidefoot beyond Johnston low into the corner
90: SUBSTITUTION (Dungannon Swifts) - Taylor on for Coyle
91: GOAL - Dungannon Swifts 2 (Clucas) Ballymena United 2
Clucas - the recently-confirmed club captain - steps up to slot home from the penalty spot after a foul by Millar on Campbell
93: YELLOW CARD - Craig Taylor (Dungannon Swifts)
F-T: Dungannon Swifts 2 Ballymena United 2
DUNGANNON SWIFTS: Johnston, King, Clucas, Smyth, Teggart, Patton (Campbell, 68), Lowe, Carvill, McGuinness, Waide, Coyle (Taylor, 90).
Subs (not used): Addis, McGinty, Marcal, Gallagher.
BALLYMENA UNITED: Glendinning, Kane (McGrory, 74), Addis, Mayse, Harpur (McGinty, 85), Friel, McCullough, Balmer, Winchester (Lavery, 67), Ervin, Millar.
Subs (not used): Williamson, Whiteside, Carville, Kelly.
Referee: Keith Kennedy.