Jimmy Hyland did the damage again for Kildare who scored a landmark 1-12 to 0-12 Allianz Football League Division 1 win over Dublin in Newbridge, easing their relegation fears and consigning the Sky Blues to a relegation battle in the process.
In what was a repeat of last summer's Leinster decider, Kildare led for virtually the duration with Hyland's 49th minute goal proving decisive.
The 2018 Under-20 Player of the Year, who hit 1-05 overall, struck to the net from close range after Jack Sargent's shot was initially pushed onto the crossbar, leaving Kildare six points clear.
It was a vital cushion that they required in the closing 20 minutes or so as Dublin rallied but Dessie Farrell's crew couldn't rescue a result and have now slipped to four consecutive defeats in a row.
With just three games left, all against northern opposition and two of those matches in Ulster, relegation is now a very real fear for the Dubs.
Sean Bugler scored four points for the visitors at a packed out St Conleth's Park, the same tally free-taker Dean Rock amassed, but they were playing catching up throughout and paid a high price for failing to convert any of the several goal opportunities that fell their way.
Dublin created more of the openings initially but on a slippery sod with a crosswind blowing towards the main stand at St Conleth's Park, they found it difficult to turn their greater possession into points.
Ciaran Kilkenny, Tom Lahiff and Bugler were prominent in Dublin's attack and the trio accounted for all of the team's scores as the sides found themselves locked on 0-04 apiece approaching the half-hour mark.
Dublin should have moved ahead in that period but Kildare full-back Shea Ryan cleared off the line after Kilkenny and Rock had combined for a 13th minute goal opportunity. On another occasion, Bugler ran through on goals but frustratingly fisted wide.
Those misses and a series of turnovers that Kildare were able to pull off against Dublin's attack sent the sellout home crowd wild and as the noise increased in the stand and on the terraces, the home team appeared to feed off the excitement.
Hosts Kildare pulled decisively clear in the lead up to half-time with four points in a row to change the dynamic of the game entirely.
Daniel Flynn kicked the first of those points in the 28th minute. It was a terrific score that arose from a couple of traded passes between Flynn and Paul Cribbin. The move appeared to be in danger of petering out when Flynn suddenly burst infield from the left sideline and curled over a beauty.
A minute later, the excellent Kevin Flynn split the posts from distance and from the resulting kick-out Kildare won possession and eventually worked the ball to Daniel Flynn to fist over his third of the afternoon.
Dublin looked in real bother at the back and Hyland's stoppage-time score, to leave Kildare 0-08 to 0-04 at half-time, summed up just how the game had turned in the Lilywhites' favour and how frustrated the Leinster champions had become.
Darragh Ryan sent the initial ball in for that Hyland point and full-forward Flynn was strong and direct, palming down the delivery ahead of a Dublin back to Hyland who clipped over at his ease. Moments later, Dublin duo Michael Fitzsimons and Brian Howard were locked in discussions about the concession of yet another avoidable score.
Dublin came into the game in the third quarter with points from Bugler and Rock helping them to outscore Kildare by 0-03 to 0-02 in the first 10 minutes or so after the restart.
But then Hyland's goal arrived, the corner-forward showing all his attacking instincts to follow up and convert to the net after Sargent's shot was saved onto the crossbar following an early defence splitting handpass by Daniel Flynn.
Dublin could perhaps argue that if they didn't have bad luck in this game they'd have had no luck at all. Rock and Howard somehow failed to convert a 52nd minute goal chance with the net seemingly at their mercy and late on substitute Aaron Byrne had an attempt at goal blocked.
Kildare: Aaron O'Neill (0-01, 0-01f); Mick O'Grady, Shea Ryan, Ryan Houlihan; Tony Archbold, James Murray, Darragh Ryan; Aaron Masterson, Kevin Flynn (0-01); Con Kavanagh, Ben McCormack (0-01), Paul Cribbin; Paddy Woodgate (0-01, 0-01f), Daniel Flynn (0-03), Jimmy Hyland (1-05, 0-02f, 0-02m).
Subs: Jack Sargent for Kavanagh 31, Kevin O'Callaghan for McCormack 35+6 - h/t blood, Brian McLoughlin for Woodgate 54, Kevin Feely for Masterson 57, O'Callaghan for Sargent 63, David Hyland for Darragh Ryan 68.
Dublin: Evan Comerford; Michael Fitzsimons, David Byrne, Sean McMahon; Jonny Cooper, John Small, Lee Gannon (0-01); Tom Lahiff (0-01), Brian Fenton; Niall Scully, Sean Bugler (0-04), Brian Howard; Ross McGarry, Ciaran Kilkenny (0-02), Dean Rock (0-04, 0-04f).
Subs: Robert McDaid for Lahiff 23-32 blood, Aaron Byrne for McGarry 48, McDaid for Cooper 55, Cillian O'Shea for Small 63 - 64 blood, Lorcan O'Dell for Scully 68, Alex Wright for Howard 70.
Referee: Sean Hurson (Tyrone).