Donegal will play Cork in the All-Ireland semi-final in Croke Park on Sunday, August 26, after a dramatic 1-12 to 1-10 defeat of Kerry this afternoon.