Meath stunned Kildare with a thrilling late flourish to set up a clash with Westmeath.
The visitors, who trailed by four points with less than three minutes to go, didn't hit the front until the deadly accurate Ciaran Fitzsimons struck for two injury-time points.
The hosts led from Cian Forde's eighth-minute goal, with Gerry Keegan scoring seven points, three from play.
It looked like the Lilies were destined for the next round until Jack Egan breached their defence with a 58th-minute goal. Suddenly, there was just the minimum between the sides and the momentum had swung Meath's way.
Fitzsimons equalised on the hour and the midfielder brought his tally to 10 points with those two late scores to clinch it.
Scorers -- Meath: C Fitzsimons 0-10 (8f), J Regan 1-2, J Toher 0-2(1f), A Ennis, D Keenan 0-1 each. Kildare: G Keegan 0-7(4f), C Forde 1-0, R Casey 0-2, N Donnelly, G Savage, D O'Flaherty (f), K Byrne, R Bergin 0-1 each.
Meath -- C Murray; B Wright, G Foley, A Fagan; S McGee, J Kelly, C O'Shea; C Fitzsimons, V Moore; C McGrath, A Ennis, D Keenan; C McCabe, J Toher, J Regan. Subs: S Coogan for Keenan (47), E Keegan for McGrath (47).
Kildare -- S Matthews; R Doyle, L McDonagh, S McNamara; S Gainey, S O'Flynn, S Christansen; D Collins, N Donnelly; R Byrne, G Keegan, G Savage; D Flaherty, C Forde, K Byrne. Subs: R Bergin for Collins (20), R Casey for K Byrne (47), C Nolan for R Byrne (53).
Ref -- J Lalor (Laois).