Dublin condemned Donegal to Division 2 football for next season after Paul Mannion's 73rd-minute point sealed a 0-13 to 1-10 draw at Ballybofey.
An early goal from Colm McFadden, who scored 1-02, was the difference between the sides at the break as Donegal led by 1-06 to 0-06.
Dublin motored well in the second half, making full use of the three minutes of injury-time as scores from youngsters Jack McCaffrey and Mannion (0-06) ensured a share of the spoils.
Both sides made a host of changes to the sides named in midweek, with Donegal manager Jim McGuinness making three switches to his starting line-up.
St. Eunan's clubman Eamon Doherty was handed his league debut after just being called into the squad during the week. He slotted into the full-back line in place of Declan Walsh.
Under-21 players Ryan McHugh and Martin OReilly were replaced by Luke Keaney and Martin McElhinney respectively.
Dublin boss Jim Gavin pulling a masterstroke by introducing Johnny Cooper in the backs in place of Nicky Devereux.
Na Fianna clubman Cooper subsequently putted in an excellent 70 minutes, with Diarmuid Connolly in for Bryan Cullen at left half-forward.
The sides swapped points in the opening eight minutes, with Mark McHugh drawing first blood for the All-Ireland champions after just 30 seconds.
Mannion hit an equaliser seven minutes later, but Dublin struck two wides in a 60-second spell soon after with Paddy Andrews and Michael Darragh Macauley both misfiring in front of the posts.
Donegal delivered a crucial score in the 10th minute, with the only goal of the contest. Ross Wherity sent the ball towards Paddy McBrearty with the Kilcar clubman fisting it over the head of McCaffrey for McFadden to fire the ball to the net past Stephen Cluxton.
This gave Donegal a lead that they would keep until the dying seconds, as McGuinness's charges seemingly held an extra edge over the visitors.
Dublin came within inches of snatching that lead on countless occasions, but the Tir Chonaill men kept bouncing back.
Just a point separated the sides at the end of the first quarter following points from Mannion and Andrews, but Dublin were held scoreless over the next 11 minutes as Donegal added to their tally.
Points from McBreaty, Michael Murphy and McFadden gave the hosts a 1-05 to 0-03 lead with 10 minutes to go before the break.
Dublin were denied a goal in the 18th minute, after net minder Paul Durcan pulled off a superb save from a Paul Flynn shot.
Gavin's side came back strongly before half-time, with Cian O'Sullivan and Paddy Andrews firing some excellent points from play to cut the gap to two points in the 30th minute.
Donegal brought their wides tally to seven, but Ryan Bradley's injury-time point left the scoreline at 1-06 to 0-06 for the interval.
The hosts lost McFadden through injury, while the introduction of Cullen and Ballymun's Jason Whelan bolstered the Dubs' attack. Even still, the second half was dominated by scores from placed balls.
Defences were on top in the early stages before Connolly reduced the gap to two points with a 41st minute free.
An accidental collision between referee Padraig Hughes and Dublin's Philly McMahon left the Armagh whistler with an ankle injury and he had to be stretchered off. Sligo's Michael Duffy came on in his place.
Murphy and McBrearty pushed Donegal four points clear, 14 minutes into the half, before Dublin responded through the reliable Mannion.
"They should have done enough to win the game, but they didn't win the game" - Jim McGuinness on Donegal's failure to take all points
Ross Wherity's 55th-minute goal-bound effort was blocked by Cluxton, while Durcan pulled off a magnificent save at the opposite end when he denied Whelan in the 68th minute.
Hughes' replacement Duffy drew the ire of Donegal supporters late on, the home fans feeling that a challenge by Whelan on Rory Kavanagh should have resulted in a penalty.
Dublin kept plugging away until the end and managed to force a draw as McCaffrey and Mannion, with a fine left-footed strike, got the Dubs back on terms.
Following the game, Donegal supremo McGuinness said his side were gutted at the result, but failed to be drawn on a number of decisions that did not go their way.
"There were a lot of things going on in the last 15 or 20 minutes that had a major impact on the game and have relegated us as a result of it," he said.
"I'm very proud of the players, the way they played. They should have done enough to win the game, but they didn't win the game."
DONEGAL: P Durcan; E Doherty, E McGee, F McGlynn; L Keaney, L McLoone, A Thompson; R Kavanagh, R Bradley (0-01); M McHugh (0-01), R Wherity, M McElhinney; P McBrearty (0-03, 0-02f), M Murphy (0-03, 0-03f), C McFadden (1-02, 0-02f).
Subs used: O MacNiallais for McFadden (half-time), M O'Reilly for McElhinney (47 mins), D McLaughlin for MacNiallais (68).
DUBLIN: S Cluxton (0-01, 0-01 '45'); K O'Brien, P McMahon, D Daly; J McCaffrey (0-01), G Brennan, J Cooper; MD Macauley, C O'Sullivan (0-01); P Flynn, T Brady, D Connolly (0-01); K McManamon, P Andrews (0-03), P Mannion (0-06, 0-05f).
Subs used: B Cullen for Flynn, J Whelan for Brady (both half-time), D Bastick for Macauley (55 mins), D Rock for Connolly (57), M Fitzsimons for Brennan (62).
Referee: Padraig Hughes (Armagh)