Cork had to endure a frantic finish before surviving to book their place in the All-Ireland SFC semi-final.
Manager Conor Counihan will be concerned at the manner in which his side left themselves hanging on precariously in a game they dominated for long spells.
The Munster champions led by 2-05 to 0-05 at the break, but Kildare were awarded two second half penalties, one of which was missed, and the Lilywhites, who trailed by nine points at one stage, were thwarted in their efforts to grab an equalising goal.
Kildare full-back Kevin O'Neill curbed the aerial threat of Michael Cussen in the early stages, but Cork found that it paid to persist with the booming delivery to the front line, for in John Hayes they had anther supreme ball-winner and clinical finisher.
Hayes fetched from Donnacha O'Connor's punt to drill home an exquisite 11th minute goal, and when Cussen finally got the measure of his marker to punch home a James Masters cross five minutes later, the Rebels led by 2-03 to 0-00.
On 17 minutes, Kieran McGeeney decided it was time to perform surgery on his mis-firing side with a double substitution, and by the 26th minute, he had called ashore four of his starting line-up.
Eamon Callaghan finally notched the opening Lilywhite score in the 20th minute, and as Cork allowed the tempo to slip, the Leinster men tagged on a few more points through Alan Smyth, John Doyle and a superb Dermot Earley effort.
The Munster champions led by 2-05 to 0-05 at the break, and turned the screw early in the second half with delightful scores from Hayes, Pearse O'Neill and Cussen.
Kildare did have their moments, the brightest of which saw them win a 48th minute penalty when Diarmuid Duggan hauled down Alan Smyth, but Ronan Sweeney's poor kick was comfortably saved by Alan Quirke.
Another goal chance was missed when Smyth was sent through by James Kavanagh, but Anthony Lynch denied the corner-forward with a superb block.
They pulled back scores through Smyth and Doyle, and Cork went 17 minutes without scoring, before Hayes got them back on track.
But there was to be more penalty drama at the other end when Dermot Earley was upended and Doyle netted the resultant penalty in the final minute of normal time.
Cork were subjected to a pounding in the closing moments as Kildare went for a goal that would have tied the game up, but their brave effort ended when Earley had a shot charged down.
Cork: A Quirke, D Duggan, D Kavanagh, A Lynch, B O'Regan, G Spillane, K O'Connor, P O’Neill (0-2), A O'Connor, D O’Connor, J Masters (0-1), S O'Brien, D Goulding (0-3, 1f), M Cussen (1-2), J Hayes (1-3).
Subs: M Shields for Kavanagh, J Miskella for O'Regan, Fintan Goold for D O’Connor, P Kelly for A O’Connor, N O’Leary for Duggan.
Kildare: E Murphy, M O'Flaherty, K O'Neill, A McLoughlin, E Bolton, M Foley, M Scanlon, K Brennan, D Earley (0-1), J Kavanagh, P O'Neill, E Callaghan (0-1), A Smyth (0-3), K Donnelly, J Doyle (1-5, 1-0 pen, 4 f).
Subs: G White for Scanlon, D Flynn for Brennan, M Conway (0-1, f) for O'Neill, R Sweeney for Donnelly, A Rainbow for Callaghan.
Referee: P McEnaney (Monaghan).