Match ends, Nottingham Forest 2, Swansea City 1.
Nottingham Forest remain in the Championship play-off hunt after coming from behind late to beat Swansea 2-1.
George Byers' shot, which deflected off Swansea defender Connor Roberts, gave the visitors the lead on 76 minutes.
Darryl Murphy's header from a corner levelled matters four minutes later for Martin O'Neill's side.
Forest desperately needed a winner and found it with three minutes left when Molla Wague headed home as a set-piece once again proved Swansea's undoing.
Forest rise to ninth and are two points behind bitter rivals Derby, who occupy the final play-off position. Swansea fall to 15th.
Swansea's top scorer Oli McBurnie recovered from an illness that kept him out of three games, having been able to play for Scotland last week, but winger Wayne Routledge was unavailable after his wife gave birth on Friday.
Matty Cash returned from injury for the hosts and he was quickly into the action with a fierce drive that was well blocked by Kyle Naughton, but in truth Forest were off-colour before their rousing finish and barely threatened the Welsh side who broke confidently.
Swansea were a threat down the left hand side, with Wales international Daniel James putting the home defence under pressure.
Neither side fashioned much in terms of clear first half chances, with Jack Colback firing wide for Forest and Matt Grimes seeing a firmly struck 30-yard effort tipped around the post by Costel Pantilimon.
McBurnie should have found the target on 51 minutes, but he fired wide from a great position.
The visitors increased the pressure and Pantillimon denied Bersant Celina from a free-kick and then scooped away a close-range header from Byers.
Swansea finally made the breakthrough when Byers' shot went in via Roberts, but they held their lead for barely four minutes before Murphy got on the end of Joe Lolley's corner.
That set up a grandstand finish with the home fans getting the winner they craved when Lolley again delivered and Wague headed home as a set-piece again undid the Welsh side.
Nottingham Forest boss Martin O'Neill told BBC Nottingham:
"We showed tremendous character because everything seemed lost. I'm delighted for the players because they proved to themselves they can get something out of a game where they have been second best for a lot of it.
"If you saw us and looked at the game today you would think that Swansea are a better football side than us, but sometimes you have to grind something out.
"I don't want it to be a grind here, I want us to play and be able to sweep teams aside and at some stage or another during that time we will."
Swansea City manager Graham Potter said:
"I'm really disappointed. It's a sore one. We did such a lot well in the game for 80 odd minutes. We got the goal, played well, had chances and restricted them to not too much.
"We did everything right apart from the last 10 minutes. We didn't defend two actions in the box and you come away losing.
"It's obviously clear what we have to do better - but there were a lot of positives. But it's hard to keep saying that after a result where you don't get anything but that's the reality."
- 27DarikwaBooked at 69mins
- 29BenalouaneBooked at 89mins
- 22YatesSubstituted forTuncará Gomesat 57'minutes
- 8WatsonSubstituted forCarvalhoat 66'minutes
- 6ColbackBooked at 59mins
- 7GrabbanSubstituted forMurphyat 67'minutes
- 23LolleyBooked at 24mins
- 28Tuncará Gomes
- 5van der Hoorn
- 28ByersSubstituted forBaker-Richardsonat 84'minutes
- 12DyerSubstituted forMcKayat 70'minutes
- 9McBurnieBooked at 40mins
- Jeremy Simpson
- Shots on Target
Second Half ends, Nottingham Forest 2, Swansea City 1.
Foul by Cameron Carter-Vickers (Swansea City).
Joe Lolley (Nottingham Forest) wins a free kick in the defensive half.
Attempt saved. Mike van der Hoorn (Swansea City) header from the centre of the box is saved in the centre of the goal. Assisted by Kyle Naughton.
Yohan Benalouane (Nottingham Forest) is shown the yellow card for a bad foul.
Mike van der Hoorn (Swansea City) wins a free kick on the right wing.
Foul by Yohan Benalouane (Nottingham Forest).
Attempt blocked. Bersant Celina (Swansea City) right footed shot from outside the box is blocked. Assisted by Barrie McKay.
Goal! Nottingham Forest 2, Swansea City 1. Molla Wagué (Nottingham Forest) header from very close range to the bottom left corner. Assisted by Joe Lolley with a cross following a corner.
Corner, Nottingham Forest. Conceded by Kristoffer Nordfeldt.
Attempt saved. Joe Lolley (Nottingham Forest) header from very close range is saved in the top centre of the goal.
Delay over. They are ready to continue.
Substitution, Swansea City. Courtney Baker-Richardson replaces George Byers.
Delay in match Connor Roberts (Swansea City) because of an injury.
Delay in match Yohan Benalouane (Nottingham Forest) because of an injury.
Barrie McKay (Swansea City) wins a free kick on the right wing.
Foul by Yohan Benalouane (Nottingham Forest).
Goal! Nottingham Forest 1, Swansea City 1. Daryl Murphy (Nottingham Forest) header from the right side of the six yard box to the top left corner. Assisted by Joe Lolley with a cross following a corner.
Corner, Nottingham Forest. Conceded by Kyle Naughton.