Roscommon 0-24 Kildare 2-12
Cathal Cregg gave a scoring master class for Roscommon with six points in Newbridge to pile the pressure on relegation-threatened Kildare.
The Rossies trailed by three at half-time but turned in a storming second-half display to win with six to spare, keeping their Allianz Football League Division 2 promotion challenge alive.
But the game ended in chaos as Kildare had Eoin Doyle and Eamonn Callaghan red-carded and David Murray was sent to the line for Roscommon.
Doyle and Murray were dismissed following a 73rd-minute melee, while Callaghan was shown his red shortly after in a separate skirmish.
Bizarrely, Callaghan had just won a penalty for Kildare when he was red-carded for an off-the-ball incident, resulting in referee Fergal Kelly calling full-time and refusing to allow the penalty to be taken.
It was a dramatic ending to an exciting game that Roscommon will be delighted to win. If they win their game in hand against Meath next weekend they will be in a strong position to challenge for promotion.
But Kildare are in real bother at the foot of the table after their fourth loss in five games.
Kildare took a 2-9 to 0-12 half-time lead though in reality it could have gone either way. Roscommon had several goal chances while Padraig O'Neill also missed a great opportunity for Kildare.
Kildare did at least hit the net in the 11th and 18th minutes through Callaghan and Fionn Dowling.
Callaghan's was a great score when he received a diagonal ball in from Daniel Flynn, raced clear of Roscommon's defence and drilled a low shot to the bottom left corner.
Dowling's was more an opportunist strike when he followed up on Eoghan O'Flaherty's point attempt that rebounded off the post.
Johnstownbridge club colleagues Flynn and Paul Cribbin were lively for Kildare initially. Midfielder Cribbin booted four first-half points from play, resulting in Roscommon midfielder Mark Healy's 29th minute withdrawal.
Roscommon pulsed with energy when they attacked too. Cregg carried on his fine form from a week earlier in Laois and shot three early points.
They were awarded 17 first-half frees in total and the Murtaghs, Diarmuid and Ciaran converted three of them.
John Evans' side sensed a win was vital to keep alive their promotion hopes after losing to Laois and drawing with Cavan. They duly dominated the second-half and took firm control with those six points in a row after the restart.
Cregg's sixth point of the game moved Roscommon 0-18 to 2-9 ahead with 20 minutes to go.
They built on that lead and outscored Kildare in the second-half overall by 0-12 to 0-3. Kildare might have at least finished with a flourish but were surprised to see that 75th minute penalty award wasted.
Roscommon: D O'Malley; S McDermott, N Collins, D Murray; N Daly (0-01), N Carty, D Keenan; C Shine (0-01), M Healy; C Daly (0-02), C Murtagh (0-04, 0-3f), C Cafferkey; D Murtagh (0-04, 0-2f), S Kilbride (0-03, 0-1f), C Cregg (0-06).
Substitutes: E Smith (0-01) for Healy, U Harney (0-01) for Cafferkey, I Kilbride for C Murtagh, C Compton (0-01) for D Murtagh, C Connolly for Cregg.
Kildare: M Donnellan; E Bolton, M O'Grady, O Lyons; K Cribbin, F Conway, E Doyle; P Cribbin (0-04), G White (0-02); P O'Neill, E O'Flaherty (0-04, 0-4f), D Flynn (0-01); E Callaghan (1-00), T O'Connor, F Dowling (1-00).
Substitutes: A Smith (0-01) for Dowling, C Fitzpatrick for O'Neill, P Fogarty for O'Connor, D Mulhall for Flynn, T Moolick for White.
Referee: F Kelly (Longford).