A late Karl Lacey point helped Donegal seal their place in the All-Ireland semi-finals after an enthralling 1-12 to 1-10 victory over Kerry at Croke Park.
The centre-back's injury-time point booked a date with Cork for the Ulster champions, who handed Kerry only their second-ever All-Ireland quarter-final defeat.
The hugely influential Colm McFadden shot 1-03 in an intense first half, with his fortuitous sixth-minute goal coming straight from a sideline ball.
A Colm Cooper brace kept Kerry in touch at 1-04 to 0-05 down but despite a late rally, which included a punched Kieran Donaghy goal, the Kingdom fell short.
Although Jack O’Connor’s men will take some credit for a stirring comeback, it will only serve to paper over what was a decidedly flat performance from a side that had been talked up as potential All-Ireland champions.
Kerry lacked the poise they showed in recent outings against Tyrone and Clare, and Donegal were able to contain them for much of today’s game while kicking some splendid scores themselves.
Jim McGuinness made two late changes to the team that started the recent Ulster final win over Down, with Eamon McGee and Martin McElhinney replacing Declan and David Walsh respectively.
Kerry, wearing blue jerseys, lined out as they did in last weekend’s runaway qualifier defeat of Clare, but fell behind this afternoon to a rousing opening point from McFadden.
White-shirted Donegal got off to a brisk start, attacking the Hill 16 end with great vigour and McFadden’s left-footed effort was the launch pad.
Some neat interplay between Kieran Donaghy and Donnchadh Walsh set up Colm Cooper for a levelling point, but the gap was out to four points in a matter of moments.
A dangerous sideline delivery from McFadden left the Kerry defence exposed and although Michael Murphy failed to get a touch to it, his presence was enough to put both Brendan Kealy and Aidan O’Mahony off as the ball bounced into the net off the crossbar.
The Donegal captain, such an influence for his side at just 23, followed up with a point to move them 1-02 to 0-01 clear.
Kerry’s response was measured and precise, with Declan O’Sullivan getting away from Lacey to double the Kingdom’s tally.
Bryan Sheehan fired over a free on the quarter hour and as Donegal failed to convert at the other end, James O’Donoghue’s fine left-footed drive cut the margin to 1-02 to 0-04.
The football was open and direct and the pace hectic. Both sides were determined to press forward in numbers, and a quick turnover saw the ball ferried to McFadden who picked off a slick second point.
Donegal’s ability to pressurise Kerry into mistakes became evident in the second quarter, with the Ulster champions dropping back and their well-drilled defence coming into play.
O’Connor’s charges had to cope with the injury-enforced loss of Eoin Brosnan, and it took a late point from Cooper to end a barren spell for the Munster heavyweights.
The ‘Gooch’ scampered into space and took a return ball from Donaghy to fist over Kerry’s long-awaited fifth point. It was cancelled out by a high, raking free from McFadden, which gave Donegal a two-point buffer at the break.
Scores proved hard to come by for both sides in the latter stages of the first half, and it was a clear case of Donegal reverting to type as they funnelled back in a bid to thwart Kerry‘s advances.
The rain arrived for the start of the second period and Neil Gallagher’s introduction gave the Tír Chonaill men some added steel in midfield.
Kerry were first out of the traps though, Anthony Maher bursting through to score and put the minimum between them again at 1-04 to 0-06.
Leo McLoone started and finished a great move to answer back for Donegal, who had a very vocal backing from the 56,191-strong crowd.
Darran O’Sullivan, who has assumed the impact sub role in recent weeks, forced a free which Cooper slotted over.
It was real tit-for-tat stuff, Donegal continuing to come up with the answers as Kerry were caught in possession once more and Murphy converted the resulting free.
Shane Enright had to bring down the advancing Rory Kavanagh shortly afterwards, allowing Murphy to kick his side three points clear - 1-07 to 0-07.
Kerry were finding the going tough now, with knocks forcing Sheehan and Declan O’Sullivan off and Donaghy and Paul Galvin having little or no influence.
With Sheehan off the pitch, O’Donoghue missed his first free but Cooper took the next one close in and brought Kerry’s 10-minute scoreless spell to an end.
That man McFadden then showed his class in front of goal again, lofting over a fine point after a strong carry from Lacey.
Murphy missed a decent chance to put four between the sides, and McLoone dropped another point attempt short as Donegal piled forward to try and kill off Kerry’s challenge.
With Cooper limping at the other end, Donegal did manage to prize open a winning gap - Patrick McBrearty and substitute Christy Toye both pointed just past the hour mark.
David Walsh, another of Donegal’s substitutes, won a soft free which McFadden dispatched for a 1-11 to 0-08 scoreline with just five minutes left.
However, Kerry received a lifeline when Donaghy reached high with his right hand to punch home a 66th minute goal, getting onto Walsh’s clever hand pass across the square.
O’Connor’s side were scrambling in defiant fashion, a miscued Cooper free was recycled near the end-line and the ball worked outfield for Galvin to point.
Kerry continued to rally as an unmarked Maher thumped over his second point, and suddenly the gap was down to a single point - 1-11 to 1-10.
Patrick Curtin slid a shot wide as Kerry, who had been second best for long stretches of the match, went in search of the leveller.
But Donegal were not about to let their lead slip and Lacey popped up in attack to kick the clinching score, duly setting up his county’s second successive All-Ireland semi-final appearance.
Donegal scorers: C McFadden 1-05 (1-00sl, 0-02f), M Murphy 0-03 (0-02f), L McLoone, P McBrearty, C Toye, K Lacey 0-01 each.
Kerry scorers: C Cooper 0-04 (0-02f), K Donaghy 1-00, A Maher 0-02, B Sheehan (0-01f), Declan O’Sullivan, J O’Donoghue, P Galvin 0-01 each.
Donegal: Paul Durcan; Paddy McGrath, Neil McGee, Frank McGlynn; Eamon McGee, Karl Lacey, Anthony Thompson; Ryan Bradley, Rory Kavanagh; Martin McElhinney, Leo McLoone, Mark McHugh; Patrick McBrearty, Michael Murphy, Colm McFadden.
Subs used: Neil Gallagher for McElhinney (h-t), David Walsh for Bradley (59), Christy Toye for McLoone (62), Daniel McLaughlin for McBrearty (70+2).
Kerry: Brendan Kealy; Marc Ó Sé, Aidan O’Mahony, Shane Enright; Tomás Ó Sé, Eoin Brosnan, Killian Young; Anthony Maher, Bryan Sheehan; Paul Galvin, Declan O’Sullivan, Donnchadh Walsh; James O’Donoghue, Colm Cooper, Kieran Donaghy.
Subs used: Brian Maguire for Brosnan (25 mins), Darran O’Sullivan for Young (32), Johnny Buckley for Sheehan, Kieran O’Leary for Declan O’Sullivan (both 46), Patrick Curtin for O’Donoghue (57).
Referee: Martin Duffy (Sligo).