Postpublished at 22:05 BST 3 April
Cliftonville 0-1 Dungannon Swifts
Keevan Hawthorne's cross from the left for Cliftonville goes all the way to the right hand side but Joe Toole shoots wildly over.
Irish Cup semi-final
FT: Cliftonville 1-1 Dungannon Swifts (3-4 on penalties)
Dillon gives Swifts lead in first period of extra time
Reds level with last chance of extra time
Dungannon win penalty shootout
Stephen Alexander
Cliftonville 0-1 Dungannon Swifts
Keevan Hawthorne's cross from the left for Cliftonville goes all the way to the right hand side but Joe Toole shoots wildly over.
Cliftonville 0-1 Dungannon Swifts
Andrew Mitchell fizzes a low ball across the face of goal but Cliftonville keeper PJ Morrison is able to grab it.
Cliftonville 0-1 Dungannon Swifts
Conor Pepper replaces Luke Conlan at the start of the second period of extra time.
It's a huge 15 minutes for Cliftonville if they are to stay in the Irish Cup.
HT: Cliftonville 0-1 Dungannon Swifts
Watch how Kealan Dillon gave the Swifts the lead in style in extra time.
Watch: Kealan Dillon gives Dungannon Swifts the lead
Cliftonville 0-1 Dungannon Swifts
Half-time in extra time and Kealan Dillon's thunderous strike has Dungannon in the ascendancy.
Cliftonville 0-1 Dungannon Swifts
Paul Leeman
Former Glentoran captain on BBC Sport NI
I don't think Cliftonville will panic. They know they have plenty of time left in the game and options upfront.
Cliftonville 0-1 Dungannon Swifts
A double change for Dungannon as Shea Gordon and Leo Alves depart, replaced by Caolan Marron and James Knowles.
Cliftonville 0-1 Dungannon Swifts
Paul Leeman
Former Glentoran captain on BBC Sport NI
It is a fantastic finish from Dillon past Morrison and into the corner.
It could be a priceless goal from him. Great composure.
Kealan Dillon (98 mins)
The deadlock is finally broken!
Andrew Mitchell cuts the ball back from the right hand side of the penalty area into the path of the in-rushing Kealan DIllon, who thumps the ball high into the net past PJ Morrison.
Cliftonville 0-0 Dungannon Swifts
Adam Glenny's cross-shot for Dungannon drifts across the face of goal with no-one able to get a touch on it.
Cliftonville 0-0 Dungannon Swifts
A nicely worked move from Cliftonville culminates in Ryan Curran laying the ball into the path of Joe Sheridan.
The teenager has half a yard of space but drags his shot wide of the post.
Cliftonville 0-0 Dungannon Swifts
Keeper Declan Dunne has Dungannon hearts in mouths as he comes outside his area to clear a through ball but takes a heavy touch and almost allows Ryan Curran to nick the ball off his toe.
Swifts boss Rodney McAree won't be thanking his keeper for that one!
Cliftonville 0-0 Dungannon Swifts
Cliftonville make a change at the start of extra time as Aidan Kelly replaces Jonny Addis.
Cliftonville 0-0 Dungannon Swifts
Paul Leeman
Former Glentoran captain on BBC Sport NI
Both managers will be saying for their team to give more of the same. Both teams have played well, it has just been when it matters most and the opportunities have came up, they haven't been able to take them.
It is so even and it is about who can find that moment now.
Cliftonville 0-0 Dungannon Swifts
No goals at the end of 90 minutes so a further 30 minutes of extra time in store.
Cliftonville 0-0 Dungannon Swifts
We're deep in three minutes of stoppage time at Windsor Park.
Cliftonville 0-0 Dungannon Swifts
Cliftonville boss Jim Magilton, perhaps with extra time in mind, makes a late double change as Ryan Curran and Joe Gormley replace Josh Kelly and Brian Healy.
Cliftonville 0-0 Dungannon Swifts
Another huge chance for Dungannon as Shea Gordon once again gets into an advanced position.
His shot is saved by PJ Morrison and as the ball bounces up, Andrew Mitchell can only loop his header onto the top of the net.
Cliftonville 0-0 Dungannon Swifts
Joe Sheridan lifts a through ball over the Dungannon backline to put Brian Healy in in the right hand channel.
However, the striker's effort is high, wide and not very handsome.
Cliftonville 0-0 Dungannon Swifts
Dungannon freshen up their attack as Andrew Mitchell replaces Kobei Moore.