Dermot Molloy's injury-time goal earned Donegal a dramatic win over holders Tyrone in the Ulster SFC semi-final.
Tyrone dominated early on to lead 0-6 to 0-1 but Donegal hit three points in the three minutes before half-time.
The Red Hands led 0-8 to 0-6 after 56 minutes before Colm McFadden's goal put Donegal one ahead.
Tyrone's Kevin Hughes was then harshly sent off and when Martin Penrose levelled a replay looked on but Molloy's late goal won it for Donegal.
It was an incredible turnaround as Tyrone looked completely in control during the first half.
The throw-in was delayed for 25 minutes after the preceding Ulster Under-21 Hurling Shield final between Donegal and Tyrone went to extra-time.
When the action eventually started, Owen Mulligan made an immediate impact as he pointed on 35 seconds after Karl Lacey had lost possession in the Tyrone half.
As Donegal's nervous start continued, Tyrone created a goal chance but Rory Kavanagh cynically fouled Sean Cavanagh just outside the large square before the midfielder had a chance to find the unmarked Mulligan.
However, Cavanagh pointed the easy free and with the Donegal defence standing off, Philip Jordan and Brian Dooher were able to pick off scores from long range to increase the lead to four.
Youngster Patrick McBrearty finally opened Donegal's account in the 15th minute with a fine score but Tyrone continued to exploit opposition mistakes and Mulligan and Brian McGuigan missed good chances to extend the champions' advantage.
Donegal were suffering from a lack of movement in their attack and any long balls being directed towards full-forward Michael Murphy were being snuffed out by Joe McMahon.
A Neil McGee mistake gifted a point to Stephen O'Neill and Donegal were looking in some trouble at 0-6 to 0-1 down.
However, Donegal fought back in the closing four minutes of the first half as Kevin Rafferty, McFadden (free) and Kevin Cassidy, superbly, knocked over scores to cut Tyrone's lead to two.
At 0-6 to 0-3 ahead, Stephen O'Neill also had a Tyrone goal chance but Donegal defender Anthony Thompson produced a superb block to cut out the danger.
The Red Hands suffered a blow when McMahon was forced off in the 48th-minute after a reckless high challenge by Donegal substitute Leo McLoone.
McLoone, on the field for less than five minutes, was fortunate to only get a only a yellow card for the attempted tackle.
A Murphy free cut Tyrone's lead to a point but Stephen O'Neill, who had been well-shackled by the Donegal defence, finally found space to double the advantage once more.
Then came a controversial moment when Colm McFadden claimed he should have earned a penalty but instead was penalised for over-carrying by referee Joe McQuillan.
But McFadden did rattle the Tyrone net to put Donegal ahead on 56 minutes after brilliant vision from both Patrick McBrearty and Murphy.
Full-forward Murphy produced a perfectly-weighted pass to a charging Karl Lacey, who set up McFadden to fire to the roof of the net.
The game's other controversial moment then came as Kevin Hughes was dismissed after getting a second yellow card for a slap-type tackle on Michael Hegarty.
Peter Harte looked set to level with a free from 30 metres - after the ball had been brought forward because of Donegal protests - but the Tyrone man dropped his effort short.
Ryan McMenamin wasted another chance to level but Martin Penrose restored parity in the first minute of injury-time after a brave Sean Cavanagh challenge.
At that stage a replay looked on the cards but incredible drama was to follow as Martin Swift was dispossessed in his own defence and sub Molloy, instead of tapping over the bar, fired into the net despite Pascal McConnell getting a hand to the shot.
Tyrone: P McConnell, M Swift, J McMahon, R McMenamin, D Harte, C Gormley, P Jordan, K Hughes, S Cavanagh, B Dooher, B McGuigan, P Harte, O Mulligan, M Donnelly, S O'Neill.
Donegal: P Durcan, K Lacey, N McGee, P McGrath, K Cassidy, A Thompson, Marty Boyle, R Kavanagh, K Rafferty, M McElhinney, M McHugh, R Bradley, C McFadden, M Murphy, P McBrearty. Subs: Michael Boyle, F McGlynn, D Molloy, E McGee, N Gallagher, L McLoone, M Hegarty, D McLaughlin, D Walsh, S Griffin.