Swansea City’s unbeaten start to the season came to an end as Alfa Semedo’s late strike gave Nottingham Forest the spoils at the Liberty Stadium.
The Forest substitute finished at the far post with five minutes remaining, after Lewis Grabban had done superbly to make the most of a Swansea error by driving forward from his own half to set up his colleague.
Grabban had earlier hit the bar, and Samba Sow had seen an effort blocked as the Reds created the better attacking openings.
Swansea’s best effort had seen Andre Ayew’s header strike the base of the post but it was not to be for Steve Cooper’s side.
Cooper had made just the one change from the win at Leeds before the international break as Wayne Routledge came in for Yan Dhanda, while Nathan Dyer was on the bench as he returned from the hamstring injury he suffered against Preston.
The Swans survived an early scare as Sammy Ameobi robbed Mike van der Hoorn and started a counter that ended with Grabban being flagged offside on the edge of the six-yard box.
The Swans responded, excellent play from Joe Rodon allowing Bersant Celina to pick out Borja Baston, who saw his effort blocked on the edge of the box.
The Spaniard came close to profiting from diligent pressing work a few moments later, nearly robbing Forest keeper Brice Samba as he dallied on the ball in his own area.
But the Swans needed Freddie Woodman to make a good save at the other end to keep them level after 15 minutes.
Nice link work left Ameobi free in front of goal, but the on-loan keeper parried his strike strongly away from danger.
Grabban did have the ball in the net a few moments later, but the striker had been offside by quite some distance.
The same player then hit the bar as Ben Watson’s header came back into the box, with Woodman gratefully gathering the rebound.
Midfielder Sow had a shot blocked from close range after sharp work by Ameobi near the byline.
Swansea had yet to really test Samba, and when they did produce their best build-up play of the half it ended with Routledge’s inviting cross finding no white shirt having gambled at the back post.
The hosts threatened again when Celina skipped away from Ameobi and delivered an inviting ball that Borja met cleanly, only for Forest skipper Michael Dawson to make an excellent block as the game remained goalless at the break.
There were no changes from either side and the pattern of the game remained the same, with Joe Rodon making a superb covering challenge as Albert Adomah prepared to tee up Grabban.
Celina then got away with a poor piece of defensive play as he gifted Grabban the ball in the area, with Woodman having to block Matty Cash’s resulting cross at his near post.
The Kosovo international was soon replaced by George Byers and Swansea best chance of the game arrived before the hour mark, Routledge and Jack Bidwell combining for Andre Ayew to head against the outside of the post.
Swansea were back on defensive duty with 20 minutes to play, Rodon making a superb block as Sow set his sights from eight yards after a loose ball fell to the midfielder.
Ayew worked Samba with a low strike, before Cooper rolled the dice as he made his final changes with 15 minutes to play, sending on Dyer and Sam Surridge for Routledge and Borja.
But it was the visitors who took the spoils as Grabban took advantage of Byers’ loose pass, ran away from Grimes and laid on a simple finish for sub Semedo at the far post.
Swansea City: Freddie Woodman; Connor Roberts, Mike van der Hoorn, Joe Rodon, Jake Bidwell; Jay Fulton, Matt Grimes (captain); Wayne Routledge (Nathan Dyer 75), Bersant Celina (George Byers 58), Andre Ayew; Borja Baston (Sam Surridge 75).
Subs: Kristoffer Nordfeldt, Kyle Naughton, Ben Wilmot, Kristoffer Peterson.
Nottingham Forest: Brice Samba, Yuri Ribeiro, Joe Worrall, Lewis Grabban, Ben Watson, Joao Carvalho (Tiago Silva 78), Matty Cash, Sammy Ameobi (Alfa Semedo 67) , Michael Dawson (captain), Samba Sow, Albert Adomah (Joe Lolley 59).
Subs: Arijanet Muric, Tobias Figueiredo, John Bostock, Jack Robinson.
Referee: James Linington
Attendance: 17, 102