Donegal 1-12 0-14 Kildare
Donegal are through to the semi-finals of the All-Ireland Championship after a sensational win over Kildare in Dublin.
The Ulster champions scored the last four points in extra-time to snatch a barely believable victory.
Donegal substitute Christy Toye got the only goal of the game and Kevin Cassidy landed the match-winning point.
Kildare will feel they should have won in regular time as they had a goal controversially disallowed for a square ball when three up in the second half.
They were three points up early in the second half when Tomas O'Connor netted after John Doyle's effort had come off an upright.
It did not count and soon afterwards Toye struck his goal.
Toye, plagued by injuries in recent seasons, had been on the pitch for just a few seconds having come on as a substitute for Colm McFadden.
Donegal captain Michael Murphy, who had been a doubt with a hamstring injury, did not start the match, but came on in the 26th minute.
Eoghan O'Flaherty, who took on free-taking duties after Doyle sent two wide early on, scored three points in the first half and Padraig O'Neill and Eamonn Callaghan were also on target.
Donegal scored through 17-year-old Patrick McBrearty, Rory Kavanagh and Mark McHugh.
An O'Flaherty free put Kildare 0-6 to 0-3 ahead and then came the disputed decision when referee David Coldrick disallowed what Kildare felt was a perfectly legitimate goal.
That verdict looked all the more crucial when Donegal scored three points in a row - through sub Murphy, Ryan Bradley and Dermot Molloy - to level the contest.
Kildare replacement Alan Smith edged Kildare ahead but then Donegal got the goal when Toye shot home after being found in space.
It looked like the Ulster county were going to defy the bookies' odds but they gave away too much possession and allowed Kildare back.
O'Flaherty slotted over a free from well out on the left and James Kavanagh pulled off an audacious point form play to leave just one point in it.
Kildare got a free in stoppage time and O'Flaherty kept his nerve to sent them match into extra-time.
Kieran McGeeney's men scored the first three points in the added period through Ronan Sweeney, Gary White and Smith while Karl Lacey responded for Donegal.
Emmett Bolton pointed for Kildare but back came Donegal again, reducing the deficit to one after two scores from talisman Murphy.
Toye levelled the match and then with seconds left Cassidy grabbed the victory.
In the semi-finals, Donegal will play either Dublin or Tyrone.