Meath used goals as their battering ram to success yet again in the Leinster SFC, conjuring a remarkable second-half comeback at Croke Park to secure their place in next weekend's provincial final.

Trailing by six points at half-time, and with just four points on the board, the Royals looked on the verge of a disappointing Championship exit.

Whatever boss Andy McEntee said at half-time clearly did the trick because they were a different team after the restart, blasting a remarkable five goals to win by nine points on a scoreline of 5-09 to 0-15.

Mathew Costello and Jordan Morris, who both struck goals on their Championship debuts last weekend in Meath's 7-14 annihilation of Wicklow, were on the mark again while Cillian O'Sullivan and subs Joey Wallace and Jason Scully both netted too.

It amounted to a 15-point swing on the scoreboard by full-time to secure Meath's place in next weekend's provincial final and, for now at least, their status as the second best team in the province.

Meath will play Dublin next Saturday back at Croke Park while Kildare's season is over.

It all looked so positive for Jack O'Connor's men at half-time but they were outscored by 5-05 to 0-05 from there on and lost Shea Ryan to a straight red card dismissal late on as their campaign ended in frustration.

It was some difference initially from a week ago in Aughrim for Meath who had their win over Wicklow virtually wrapped up at that stage.

This time around they trailed by 0-10 to 0-04 and looked in real trouble in a number of areas, particularly their restarts.

Kildare carefully cut off the short kick-out options for Marcus Brennan who was forced to go long to a midfield that was in bother.

Kildare enjoyed the lion's share of possession and aside from their 10 first-half points also registered eight wides, underlining the amount of opportunities they were setting up.

They cut loose in the 10 minutes before half-time in particular and struck six unanswered points in this period to put clear daylight between the teams.

O'Sullivan was dangerous in attack for Meath and scored a point in the first-half before drawing a fine save from Mark Donnellan.

But it summed up Meath's woes that the resulting 45-metre kick from Donnellan's save wasn't converted.

Morris blasted 3-04 on his Championship debut against Wicklow but was held scoreless from play here until his goal early in the second-half.

Shane Walsh did impress in patches for the 2010 provincial winners, opening the scoring for them and helping to create O'Sullivan's point.

But that was about it from a Meath attacking perspective in the opening half and Kildare went into the interval in firm control.

Jimmy Hyland's ability to burst into space and take possession on his left or right side caused his marker Seamus Lavin trouble.

Hyland won two frees off Lavin fouls that were converted and the former underage star escaped Lavin in another straight head to head before the interval, feigning to go to his right before turning onto his left and splitting the posts.

From that position of dominance and a six-point half-time lead, Kildare conspired to throw it all away, or have their pockets picked depending on your persuasion.

Meath returned a different team and set the standards for a second-half that was largely played on their terms.

Costello's goal in the 37th minute, when O'Sullivan and Morris combined to play him in, ignited the revival.

Seconds later Morris found space down the right and thundered a low shot to the net, leaving Meath just one behind at 2-04 to 0-11.

Meath's ball retention, tackling and possession percentage all improved markedly and their next two goals came from true grit and hard work following turnovers.

O'Sullivan made it 3-04 to 0-12 with his 45th minute goal after Paddy Brophy spilled possession and Wallace pounced for Meath's fourth after pressure from Walsh and Ronan Jones forced Kildare to concede the ball.

Sub Scully grabbed Meath's fifth goal deep into injury time when he was expertly fed by Wallace before rounding Donnellan and slotting home.

Meath: Marcus Brennan; Seamus Lavin, Conor McGill, David Toner; Donal Keogan, Ronan Ryan, Mathew Costello (1-01); Bryan Menton, Ronan Jones; Cillian O'Sullivan (1-01), Bryan McMahon, Shane McEntee (0-01); Jordan Morris (1-01, 0-01f), Shane Walsh (0-01), Thomas O'Reilly (0-02).

Subs: Cathal Hickey (0-01) for Ryan, Joey Wallace (1-00) for O'Reilly, Jason Scully (1-00) for McMahon all 55, James Conlon (0-01) for Walsh 68, Eoin Harkin for O'Sullivan 76.

Kildare: Mark Donnellan; Eoin Doyle, Mick O'Grady, Mark Dempsey; David Hyland (0-01), Con Kavanagh, Kevin Flynn (0-01); Shea Ryan, Kevin Feely; Mattie Byrne (0-01), Ben McCormack (0-01), Paddy Brophy (0-02); Fergal Conway (0-01), Darragh Kirwan (0-02), Jimmy Hyland (0-05, 0-03f, 0-01m).

Subs: Daniel Flynn (0-1) for McCormack 48, Paul Cribbin for Byrne 51, Aaron Masterson for Kavanagh 57, Liam Power for Conway 58, Neil Flynn for Kirwan 60.