Match ends, Norwich City 1, Swansea City 0.
Marco Stiepermann's precise finish six minutes from time saw Norwich edge out Swansea 1-0 in a high-quality contest.
Stiepermann swept home beautifully to earn Norwich three points in a game that underlined both sides' credentials as Championship promotion contenders.
Norwich goalkeeper Tim Krul made some excellent saves as Swansea failed to capitalise on clearer chances.
The win sent Norwich up to third in the table and a point behind top spot while the Swans slip to sixth.
This contest presented a good early season marker for both sides as Norwich and Swansea both started the day in the Championship play-off positions having made impressive starts.
There was no disputing this was a match between two sides enjoying a rich vein of form, with Norwich, who were unbeaten in their last six league games, facing a Swans side who had lost only one of their previous 13 Championship fixtures, conceding just six goals this season.
Swansea were unlucky not to win at Brentford in midweek and they contributed plenty to a lively first half where either side could have edged in front.
The hosts should have led inside four minutes when Max Aarons centred perfectly for Przemyslaw Placheta, but Connor Roberts denied him with a superb block as he stretched.
A relentless tempo from the hosts, who were held by Millwall last time out, saw the Swans forced to defend deep, but Freddie Woodman was alert to keep out Teemu Pukki's effort.
However, as they did at Brentford, Swansea began to grow into the game as they looked to counter with speed and when Norwich failed to clear a set-piece, Andre Ayew clattered a header off the post after Roberts' cross.
Ayew was a threat throughout and he shot over from a narrow angle before his twisting and turning run almost created an opening just before half-time, but Krul was able to push Jamal Lowe's effort around the post.
The second period mirrored the first as the hosts created a fabulous early chance and were denied by an outstanding block by Wales international Roberts, who this time denied Pukki as he seemed set for a fourth goal in his last five league game.
Swansea created a fabulous chance just past the hour when Jake Bidwell's precise pass found Lowe, but his powerful drive was straight at Krul who was able to push the ball to safety.
Krul produced another great save to deny Ayew as Swansea appealed for a penalty, before Stiepermann shot tamely at Woodman.
Both sides were looking for a winner rather than settling for a point and a wonderful bit of interplay from the Swans completely exposed Norwich on 78 minutes, but Lowe's powerful shot was again too close to Krul who acrobatically tipped clear.
It was a costly miss as Norwich found the winner when Bali Mumba and Emiliano Buendia combined to create a shooting chance for Stiepermann who gave Woodman no chance with his precise shot into the bottom corner of the net.
Substitute Matt Grimes' speculative effort was Swansea's best response as the hosts held on.
Norwich manager Daniel Farke said:
"It is a big win for us, many compliments to my lads, to get seven games unbeaten with a massive win for us.
"To return back with the win and a clean sheet and another late goal feels amazing, I am pretty delighted with our performance, it was a hard-fought but I thought, deserved win.
"Swansea are a top side, they were also on an unbeaten streak and you can't dominate a side like that from the first to the last second.
"It was a complicated game and a difficult game so we were delighted to end with the win and also only our fourth clean sheet."
Swansea head coach Steve Cooper told BBC Wales Sport:
"When you come to somewhere like this and create the chances that we did, not to at least get a draw is disappointing, but it should have been three points on chances alone.
"Tim Krul has made more saves in this game than he probably has all season. For large parts I thought we defended really well and I can't really remember Freddie (Woodman) making a key save, but they have managed to put the ball in the back of the net once and it has cost us the game.
"It was a tight game and we were playing to win... but we didn't manage to score and that is the most important thing.
"We should have got six points this week. If someone had offered us the chances we created today we would have taken it, but we didn't put them away, unfortunately."
- 2AaronsBooked at 88mins
- 19Lungi SørensenSubstituted forMumbaat 68'minutes
- 17BuendíaSubstituted forTetteyat 90+2'minutes
- 11PlachetaSubstituted forMartinat 68'minutes
- 26NaughtonBooked at 36minsSubstituted forGrimesat 45'minutes
- 2BennettBooked at 38mins
- 5GuehiBooked at 17mins
- 23RobertsBooked at 90mins
- 6FultonBooked at 55minsSubstituted forDhandaat 86'minutes
- 45PalmerSubstituted forGyökeresat 59'minutes
- 10A Ayew
- Darren England
- Shots on Target
Second Half ends, Norwich City 1, Swansea City 0.
Attempt missed. André Ayew (Swansea City) left footed shot from outside the box is close, but misses the top left corner. Assisted by Yan Dhanda.
Connor Roberts (Swansea City) is shown the yellow card for a bad foul.
Teemu Pukki (Norwich City) wins a free kick in the defensive half.
Foul by Connor Roberts (Swansea City).
Substitution, Norwich City. Alexander Tettey replaces Emiliano Buendía.
Tim Krul (Norwich City) wins a free kick in the defensive half.
Foul by Jamal Lowe (Swansea City).
Attempt missed. Matt Grimes (Swansea City) right footed shot from outside the box is too high.
Attempt blocked. André Ayew (Swansea City) left footed shot from the right side of the box is blocked. Assisted by Connor Roberts.
Grant Hanley (Norwich City) wins a free kick in the defensive half.
Foul by Jamal Lowe (Swansea City).
Foul by Kenny McLean (Norwich City).
Yan Dhanda (Swansea City) wins a free kick in the defensive half.
Max Aarons (Norwich City) is shown the yellow card.
Substitution, Swansea City. Yan Dhanda replaces Jay Fulton.
Foul by Emiliano Buendía (Norwich City).
Connor Roberts (Swansea City) wins a free kick in the defensive half.
Goal! Norwich City 1, Swansea City 0. Marco Stiepermann (Norwich City) left footed shot from the centre of the box to the bottom right corner. Assisted by Emiliano Buendía.