Tyrone proved that the spirit of Cormac McAnallen lives on with a late Mark Donnelly goal in Newbridge to steal a sensational 3-16 to 1-21 Allianz FL Division 1 victory.

Hosts Kildare looked destined for their second win in the campaign when they led by five with 70 minutes on the clock. But late goals from Ronan O'Neill and then Donnelly in the 72nd minute secured the most unlikely of Red Hand successes.

It came exactly 10 years to the day since the passing of former captain and All-Ireland-winning defender McAnallen. He was well represented on the day by fellow Eglish club man Emmet McKenna who shot an important 1-02.

Kildare have a poor recent record against the Red Hands and were clearly keen to lay down an early marker. They opened in whirlwind fashion with seven points registered before the game was even 10 minutes old.

Much of the attack was aimed in powerful full-forward Tomas O'Connor's direction. Peter Harte was black-carded for a challenge on O'Connor and his actual marker, full-back Conor Clarke, fared little better.

Tyrone began to concede frees and Kildare converted four early dead-ball opportunites, three through Eoghan O'Flaherty and the other from Darroch Mulhall.

O'Flaherty also booted a fine point from open play and was joined by Paddy Brophy and Cathal McNally on the score sheet.

The visitors were in grave danger of slipping out of contention by the quarter hour mark but, crucially, managed to avoid any goal concessions.

O'Connor had a gilt-edged goal chance expertly saved by Niall Morgan after 14 minutes.

Points from Mattie Donnelly and Ronan O'Neill finally settled Tyrone and three on the trot between the 22nd and 24th minutes hauled them right back.

The deficit was down to just two points when McKenna scored his 29th-minute Tyrone goal.

Goalkeeper Morgan's long clearance was knocked down by Darren McCurry into McKenna's path, and the Eglish man expertly applied a low finish.

McKenna took his tally to 1-1 by half-time to leave Tyrone trailing by just one, 1-9 to 0-13.

An O'Connor goal for Kildare four minutes after the restart gave them precious breathing space however. It was a poacher's finish, the big man redirecting O'Flaherty's ball in past Morgan to the Tyrone net.

The visitors fought back gamely again but, until late on, didn't get closer than a point to Kildare. That was in the 45th minute, after four points in a row from Mattie Donnelly, Mark Donnelly, McKenna and Sean Cavanagh.

But Kildare finished the game strongly and back-to-back points from Mulhall put them on the front foot again.

They moved 1-21 to 1-16 clear with 70 minutes on the clock and victory seemed assured. But O'Neill gave Tyrone hope with his goal and then Donnelly booted home from close range after Kyle Coney's pass to secure the shock result.

Kildare: S Connolly, M O'Grady (0-01), M Foley, H McGrillen, P Cribbin (0-01), F Conway, K Murnaghan, T Moolick (0-01), G Whyte, C McNally (0-02), E O'Flaherty (0-07, 6f), S Hurley (0-02), D Mulhall (0-04, 1f, 1 45), T O'Connor (1-00), P Brophy (0-03).

Substitutes: D Hyland for Conway, P Fogarty for O'Connor, J Gately for Whyte, F Dowling for Mulhall, D Flynn for Moolick.

Tyrone: N Morgan (0-01, 1f), A McCrory, C Clarke, B Tierney, C McGinley, P Harte, R McKenna, C Grugan, C Cavanagh, E McKenna (1-02), R O'Neill (1-05, 0-3f) S Cavanagh (0-01), D McCurry (0-01, 1f), Mattie Donnelly (0-03), C McAlliskey (0-02).

Substitutes: R McNamee for Harte (black card), Mark Donnelly (1-01) for Grugan, R McNabb for R McKenna, N McKenna for McGinley, K Coney for E McKennna,

Referee: P O'Sullivan (Kerry).