An excellent finish from Cork saw them overcome Donegal on a 0-12 to 0-10 scoreline at Páirc Uí Rinn.
Having trailed for much of the game, Cork fell 0-07 to 0-05 behind when Michael Murphy scored a Donegal 45 eight minutes into the second half.
But seven scores in a row from Cork put them in a commanding position before Donegal set up an exciting climax as Murphy and Colm McFadden scored points to bring them back to within two.
The Rebels' victory was tempered, however, by the fact that star attacker Colm O’Neill looks set to for another long spell on the sidelines after he was stretchered off with a suspected cruciate ligament injury in the first half.
The score was 0-04 to 0-03 for Donegal when O'Neill suffered the setback in the 16th minute, and the Ballyclough man had accounted for two of the hosts' points, with Murphy and McFadden Donegal's primary sources of scores.
After the injury, the tempo dropped considerably and Donegal's Dermot Molloy got the sole score from then until the interval, giving Donegal their 0-05 to 0-03 cushion, with Neil Gallagher on top in midfield.
The All-Ireland champions would have expected to push on in the second half as Cork’s attacking play without O’Neill lacked a focal point, and but for two Ken O’Halloran saves from Ross Wherity, the Tír Chonaill men would surely have had things far easier for themselves.
Instead, Paul Kerrigan, Liam Shorten and Paudie Kissane were all on target as Cork drew level before they finally took the lead through an Andrew O’Sullivan fisted point in the 57th minute.
With Mark Collins and O’Sullivan full of work and Michael Shields leading a strong defensive effort, Cork were now well on top with the momentum behind them and Aidan Walsh, Kissane and Shorten put them five in front.
Donegal were not finished, however, and Murphy and McFadden had them back to within three before Murphy was fouled by Eoin Cadogan just outside the 13-metre line.
McFadden put the ball over the bar but though they pressed in search of something which would have yielded points, Cork held out to continue their recent resurgence in the Allianz Football League Division 1.
CORK: K O’Halloran; J O’Sullivan, M Shields, E Cadogan; T Clancy, N O’Leary, P Kissane (0-02); G Canty, A Walsh (0-01); A O’Sullivan (0-01), F Goold, M Collins (0-02, 0-01f); B O’Driscoll (0-01), C O’Neill (0-02), P Kerrigan (0-01).
Subs used: L Shorten (0-02) for O’Neill (18 mins), D O’Connor for Goold (45), A O’Connor for J O’Sullivan (61), E O’Mahony for Canty (65), D Goulding for A O’Sullivan (70).
DONEGAL: P Durcan; P McGrath, N McGee, E McGee; D Walsh, F McGlynn, L McLoone; R Kavanagh, M Murphy (0-05, 0-04f, 0-01 ‘45’); R Bradley, P McBrearty (0-01), R Wherity; D Molloy (0-01), C McFadden (0-03, 0-01 ‘45’, 0-02f), N Gallagher.
Subs used: M McElhinney for Molloy, R McHugh for Wherity (both 53 mins).
Referee: David Coldrick (Meath)