Kildare were too strong for Donegal in Letterkenny, where goals in either half from Bernard Deay and Bryan Byrne proved decisive.
Donegal grabbed the lead when Gavin Browne pounced in the third minute, as Kildare keeper Paddy McKenna failed to deal with a long ball into the danger zone.
Kildare had a chance to respond, but Donegal's Paul Burns saved a Byrne penalty.
Deay polished off a super Kildare move by hitting the net to settle the visitors, who were awarded a second penalty, but McKenna could only hit a point.
Donegal led by 1-7 to 1-6 at the interval, but Kildare came good as they hit three points after the changeover.
Donegal had fought back to level terms, but four points from Kevin Whelan helped Kildare take control.
Byrne drilled in the second Kildare goal in the final minute to put a gloss on the scoreline.
Scorers - Kildare: B Byrne (3f) 1-5, B Deay 1-1, K Whelan 0-4, R Boran, P McKenna (pen), P Divilly, R Casey, C Smith, J Burke 0-1 each. Donegal: D Coulter (4f) 0-7, C Matthewson 0-3, G Browne 1-0, R McDermott, J Boyle, K Kealy 0-1 each.
KILDARE - P McKenna 7; C Derivan 6, J Doran 6, J Dolan 7; D Cahill 7, M Fitzgerald 6, R Boran 7; K Whelan 7, R Kelly 5; P Divilly 6, B Byrne 8, J Burke 7; R Casey 6, C Smith 6, B Deay 7. Subs: C Dowling 5 for Kelly (58), B Cormack 5 for Casey (63), R Gavin 5 for Burke (69).
DONEGAL - P Burns 7; M Callaghan 5, S Gillespie 6, P Doherty 6; C Finn 6, G Browne 7, J O'Loughlin 7; J Boyle 6, D Coulter 7; S McVeigh 6, D Cullen 6, R McDermott 6; D Duffy 6, C Mathewson 7, K Kealy 7. Subs: C Parke 7 for Callaghan (10), O Rooney 6 for Duffy (40), L Henderson 5 for Browne (65).
REF - S Hynes (Galway).