Donegal set up an All-Ireland Football quarter-final against Mayo next Saturday after beating battling Galway 3-12 to 0-11 at Croke Park.
Paddy McBrearty's early goal helped Donegal lead 1-2 to 0-1 but Galway levelled by half-time and then moved ahead early in the second half.
As Galway missed other chances, Donegal fought back to lead before Ryan McHugh's goal put them six ahead.
Christy Toye's late goal gave the scoreline a harsh look for Galway.
Odhran MacNiallais was deservedly named man of the match after kicking three superb points from play - including two crucial second-half efforts when the game was still tight.
After McBrearty's 16th-minute point put Donegal 1-4 to 0-3 ahead, the beaten Ulster finalists were held scoreless for a 28-minute period with Adrian Varley's score putting Galway ahead and Paul Conroy missing a straightforward free which would have doubled the Tribesmen's lead.
A minute later, Michael Murphy's free levelled the contest after Galway backchat had led to the kick being moved from 70 metres to only 35 metres out.
MacNiallais's second score edged Donegal a point ahead a minute later and as Galway began to tire, Murphy's palmed lay-off set up McHugh to score the crucial second goal 10 minutes from time.
Donegal's attack looked capable of breaking through the Galway defence at will early on as opening MacNiallais and McFadden points were followed by McBrearty lashing the ball to the roof of the net in the seventh minute.
However, Galway's defence began to settle as the Tribesmen also began to get a grip on the midfield exchanges with Donegal's play becoming lateral and ponderous when they did win possession.
At one stage, Galway fans delivered a chorus of boos as Donegal played keep ball and the crowd reaction seemed to rally the Tribesmen's players.
Galway hit four unanswered points in the second quarter to leave the sides level at the break with Conroy's 34th-minute score the pick of the bunch.
As Rory Gallagher introduced Anthony Thompson for the injured Eamon McGee with Martin McElhinney on for Martin O'Reilly, Galway continued to look the better side in the opening minutes of the second half as Varley kicked the Connacht county ahead when he appeared to have a sniff of a goal chance.
Galway surely would have grown further in confidence had Conroy not missed a 30-metre free a minute later after Neil McGee had been caught in possession.
Donegal were on terms within a minute after protests following the award of a free led to the ball being moved over 30 metres to just outside the D.
By the 48th minute, Donegal were two up again after a superb MacNiallais score was followed by a great Murphy point from play.
Galway's last attacking hurrah came in the 51st minute as Donegal defender Paddy McGrath took a deserved black card for hauling down Thomas Flynn as he attempted to bear down on goal.
While Gary Sice kicked the free, Donegal were soon three in front and McHugh's goal 10 minutes from time effectively ended the contest as he produced a neat finish after Murphy had palmed down a long ball from Colm McFadden.
As Galway wilted, Donegal tagged on further points before substitute Toye's further flattering goal in injury-time.
After the game, Donegal boss Gallagher said that injured defender McGee had rolled an ankle in the first half which will make him a fitness doubt for next Saturday's game against the Connacht champions.
Galway: B O'Donoghue; J Duane, F Hanley, C Sweeney; L Silke, G O'Donnell, G Bradshaw; F O Curraoin, T Flynn; G Sice, P Conroy, M Lundy; A Varley, D Comer, D Cummins.
Donegal: P Durcan; P McGrath, N McGee, E McGee; R McHugh, E Doherty, F McGlynn; N Gallagher, M O'Reilly; H McFadden, O MacNiallais, M McHugh; P McBrearty, M Murphy, C McFadden. Subs: M McGinley, A Thompson, Declan Walsh, M McElhinney, David Walsh, C Toye, L McLoone, G McFadden, E Gallagher, C McGinley, D McLaughlin.