O’Keeffe’s fisted goal midway through the second-half allowed the Lilywhites to finally shake off the persistent Mayo challenge; the Connacht champions battling back from seven points behind to trail by just 1-4 to 0-4 at the interval.
Mayo played with the aid of the strong breeze in the second half but they were unable to close the gap and Kildare’s victory was sealed with points from Wayne Fitzpatrick, O’Keeffe and Gary Savage in the closing 10 minutes to set up a final date with Cork on Saturday.
Scorers for Kildare: E O’Keeffe (1-1), N Flynn (0-3, 2fs), W Fitzpatrick (0-3, 3f), K McNally (1-0), G Savage (0-2).
Scorers for Mayo: L Irwin (0-5, 4fs), R Fadden (0-1).
KILDARE: D Byrne; J Kennedy, T O’Connell, E Dempsey; C O’Donoghue, B Nolan, E Farrelly; A Bannon-Whelan, G Savage; R Casey, W Fitzpatrick, K McNally; N Flynn, E O’Keeffe, C Jennings.
Subs: C Davin for Farrelly (h/t), D Hannon for McNally (55) , L McCabe for Flynn (58).
MAYO: S Strogen; S Staunton, D Keane, J Murphy; J Healy, J Geraghty, N McLoughlin; P Holmes, R Fadden; S Cox, D Carey, D O’Connor; F McNamara, L Irwin, K Carey.
Subs: D Flannery for Fadden (h/t), C Finnerty for McNamara (40), D Langan for Keane (53), B Rowland for Carey, S O’Malley for Cox (both 60).
Referee: F Kelly (Longford).