Donegal struck gold late in both halves to defeat derby rivals Tyrone.
On a tense night in Ballybofey, the Ulster heavyweights were level eight times.
Oisin Gallen’s point had Donegal with their noses in front but Jeaic MacCeallabhui converted at the far post in stoppage time.
Gallen and Peadar Mogan did the spadework and the latter’s ball in was finished by the alert MacCeallabhui.
Youngster Conor O’Donnell, who ended with 1-3, scored the crucial goal late in the first half that helped turn the tide in Donegal’s favour.
His strike was precious as the home side bounced back to winning ways against their old foes.
Donegal – still shorn of the services of Michael Murphy and Michael Langan – started well with McBrearty and Ryan McHugh firing over the early points.
They could – and should – have been further in front and were made pay for some profligacy as Conn Kilpatrick clipped Tyrone ahead for the first time in the 15th minute.
The Red Hands were gaining the momentum when a six-minute stoppage ensued after Padraig McNulty suffered a nasty arm injury in a collision with Odhran McFadden-Ferry.
McNulty was withdrawn on a stretcher, the early prognosis not looking good in the short-term for the Dungannon man.
Tyrone reeled off five successive points, two of them from the forward-thinking corner-back Michael McKernan.
When substitute Richard Donnelly posted on the half-hour, Tyrone were four in front.
After a heavy defeat by Kerry in Killarney six days beforehand, Donegal manager Declan Bonner admitted that his side needed to be “braver” here.
A 12-year unbeaten run in League football at MacCumhaill Park was on the line.
Donegal hit back and Conor O’Donnell batted to the net from a McBrearty centre in the first minute of added time.
The Carndonagh man’s major had Donegal right back into it and Jason McGee lifted the hosts with a huge score just before the break.
McGee boomed over from distance to bring Donegal level, 1-4 to 0-7, at the changeover.
Goalkeeper Shaun Patton nailed a free from 48 metres for the hosts during a frenetic opening to the second half.
His opposite number, Niall Morgan – who saved well from O’Donnell just moments after the goal – tried his luck with three placed balls without success.
The teams were level three times in the third quarter and it took a good block from Ryan McHugh to divert McKernan’s goal-bound effort out for a 45. Morgan was off-target and Donegal were given a reprieve.
The on-song O’Donnell briefly had Donegal in front only for Johnny Munroe to tie it up again, the eighth time the teams were level.
Gallen, playing on his home sod, inched Donegal in front.
Tyrone poured everyone, Morgan included, forward in search of a score but MacCeallabhui raised the roof.
Donegal: S Patton (0-1f); C Ward, B McCole, S McMenamin; R McHugh (0-1), E Gallagher, O McFadden-Ferry; H McFadden, J McGee (0-1); S O’Donnell (0-1), P Mogan, C Thompson; P McBrearty (0-2, 1f), C O’Donnell (1-3), N O’Donnell. Subs: J Mac Ceallabhui for N.O’Donnell 36, O Gallen (0-1) for McFadden 59, D O Baoill and E O’Donnell for S O’Donnell and McFadden-Ferry 68.
Tyrone: N Morgan; M McKernan (0-2), P Hampsey, F Burns; N Sludden, J Munroe (0-1), K McGeary; C Kilpatrick (0-1), B Kennedy; N Donnelly, D Canavan (0-1), C Meyler; D McCurry (0-5, 3f), P McNulty, P Donaghy. Subs: R Donnelly (0-1) for McNulty 22, C McShane (0-1) for Donaghy 56, C McKenna for McGeary 68.
Referee: B Cawley (Kildare)
Get the latest sports headlines straight to your inbox by signing up for free email alerts