A super performance from Patrick McBrearty with 0-11 was enough for Donegal to see of Cork and reach the quarter-final for the sixth year in succession.
McBrearty was everywhere and even picked up a black card in the final minutes and came off to the biggest cheer of the day.
Donegal had to come from behind, but were full value for their victory in the end.
So much for blanket defences. Donegal and Cork threw off all the bedclothes in Croke Park as we were treated to an open game.
The first four points were shared with Tom Clancy and Kevin O'Driscoll pointing for Cork while Patrick McBrearty replied, one with his right.
Donegal's defence was repeated open and Cork went two clear with McBrearty replying with a free.
The game really opened up when Cork struck for a goal on 17 minutes. Neil McGee lost the ball in midfield when he seemed to have been fouled. Cork struck quickly with Tomas Clancy ghosting in on the left, finding Paul Kerrigan, who arrowed the ball to the top corner.
Donegal responded well with three points in five minutes, two from McBrearty and a great score from Eoin McHugh, after a penetrating run.
Kevin O'Driscoll found a big hole in the Donegal defence to point, but Donegal then hit four points in four minutes to hit the front, 0-11 to 1-7 by the 31st minute, one score better than the other with a rocket from Michael Murphy followed by a lovely finish from Ryan McHugh with his left.
Before half-time Tom Clancy levelled and Paul Kerrigan pushed Cork back in front, 1-9 to 0-11 in an exciting finish. Donegal needed a super diving save from Neil McGee to deprive Ian McGuire a second Cork goal.
The second half was just as open as the first with the sides level on a number of occasions before Donegal hit the front in the 61st minute.
The introduction of Leo McLoone, to a big cheer, was a factor in the win, but so too was the accuracy of McBrearty and his Kilcar teammates Eoin and Ryan McHugh, who accounted for five of the points.
There will be a tougher test on Saturday next when Donegal meet Dublin in the quarter-final, back in Croker.
Donegal: Mark Anthony McGinley; Paddy McGrath, Neil McGee, Eamon McGee; Karl Lacey (0-1), Martin O'Reilly, Frank McGlynn (0-1); Michael Murphy (0-2,1f), Odhrán Mac Niallais (0-1); Rory Kavanagh, Ryan McHugh (0-3); Anthony Thompson, Patrick McBrearty (0-11,4f), Martin McElhinney, Eoin McHugh (0-2). Subs., Ciaran Gillespie for E McGee 43; Leo McLoone for Kavanagh 45; Christy Toye for Thompson 55; Mark McHugh for McGlynn 61; Eamonn Doherty for N McGee 68; Hugh McFadden for McElhinney 71
Cork: Ryan Price; Colm O'Driscoll (0-2), Eoin Cadogan, Stephen Cronin; Tomas Clancy (0-1), Tom Clancy (0-1), Kevin O'Driscoll (0-2); Alan O'Connor, Ian McGuire; Paul Kerrigan (1-2), Sean Powter (0-1), Mark Collins (0-1); Donnacha O'Connor (0-1), Peter Kelleher, Michael Hurley. Sub., Aidan Walsh (0-1) for A O'Connor 35; Paddy Kelly for Kelleher 41; Colm O'Neill (0-2,1f)for D O'Connor 47; Brian O'Driscoll for Tom Clancy 48; John O'Rourke for Kevin O'Driscoll 62; Alan Cadogan for Powter 68