Dublin retained their Leinster title at Croke Park but they were far from their free-flowing best against a dogged and resilient Kildare side.

Jack O'Connor’s side set out their stall in the opening quarter and with Shea Ryan playing as an extra defender, they restricted the space that Dublin had to play in inside the Kildare half.

Indeed, it was at the other end where Kildare had their problems as they squandered a number of good chances from decent positions, Ben McCormack in particular being a guilty party with four missed shots in the first half.

The sides were tied at 0-03 apiece after 15 minutes before Cormac Costello and James McCarthy scored to put the first piece of real daylight between the sides, but Jimmy Hyland landed a point to halve that lead before the water break.

Dublin’s patient, possession football began to pay dividends in the second quarter where they outscored Kildare by 0-04 to 0-01 to lead 0-09 to 0-05 at the half-time break.

Kildare’s biggest threat was undoubtedly Daniel Flynn and he scored a fine point soon after the restart but Dublin were quickly back into their rhythm.

Con O’Callaghan struggled to have an impact on the game but Cormac Costello and, in particular, Ciaran Kilkenny became more influential as the game wore on.

Four points in-a-row stretched Dublin’s lead to 0-15 to 0-08 late in the third quarter before teenager Alex Beirne ended that run of scores shortly after entering the game.

Ciaran Kilkenny was central in Dublin's improved second half performance

Kildare were given a glimmer of hope when a spectacular goal from Daniel Flynn in the 62nd minute cut the Dublin lead to five points, but rather than Kildare kicking on from there, Dublin took over again.

Kildare scored just one point after that, while Dublin scored four, and they were denied the cherry on top of their cake when Colm Basquel’s injury time goal was disallowed for taking too many steps in the build-up.

Dublin's attentions now turn to an All-Ireland semi-final against Mayo on Saturday 14 August and even though they finished with a score of 20 points, it feels like Dessie Farrell will need to get more from his team if they are to come through that game.

The defeat ends Kildare's season but it has been a campaign of progress under Jack O'Connor with a number of young players staking their claims, particularly today when they were without injured trio Kevin Feely, Eoin Doyle and Paul Cribbin. They will look forward to Division 1 football next year with confidence.

Dublin: Evan Comerford; Michael Fitzsimons, David Byrne, Seán McMahon; Brian Howard (0-01), Jonny Cooper, John Small; James McCarthy (0-01), Brian Fenton; Paddy Small (0-01), Ciarán Kilkenny (0-04, 1m), Niall Scully (0-02, 1m); Cormac Costello (0-04), Con O'Callaghan (0-01), Dean Rock (0-05, 3fs).

Subs: Eoin Murchan for J Small (temp 41-ft); Colm Basquel for Rock (54); Seán Bugler for P Small (61); Tom Lahiff for Cooper (69); Ryan Basquel (0-01) for O'Callaghan (70+1); Emmet Ó Conghaile for Kilkenny (70+3)

Kildare: Mark Donnellan; Mark Dempsey, Mick O'Grady, Darragh Malone; David Hyland, Ryan Houlihan, Kevin Flynn; Luke Flynn, Aaron Masterson; Shea Ryan, Ben McCormack, Fergal Conway, Neil Flynn (0-01), Daniel Flynn (1-02, 1m), Jimmy Hyland (0-04, 2fs).

Subs: Alex Beirne (0-01) for Conway (45), Niall Kelly for Houlihan (45); Darragh Kirwan for J Hyland (58); Brian McLoughlin (0-01) for N Flynn (62), Shane O'Sullivan for McCormack (64).

Referee: Martin McNally (Monaghan).