Swansea City saw their unbeaten away run come to an end as Marco Stiepermann struck a late winner for Norwich City at Carrow Road.
The German midfielder found the net with just six minutes to go, finding the net via the inside of the post, to settle an even contest between two of the division's form sides.
A victory would have sent the Swans top of the table ahead of the international break, and they will feel they had the chances to claim all three points.
They came agonisingly close to an opener with Andre Ayew hitting the post in the first half, while Jamal Lowe forced three excellent saves from Norwich keeper Tim Krul.
The visitors also had strong penalty appeals dismissed when Jake Bidwell was felled in the box in the second half.
Two superb blocks at the other end by Connor Roberts looked to have the Swans on course for another clean sheet, but it was not to be.
Steve Cooper had made the one change from the midweek draw at Brentford as Kasey Palmer came in to the side to make his full debut, with Yan Dhanda dropping to the bench.
It proved to be an even start, which was little surprise given the form the two sides had been in, but it was Norwich who created the first big chance.
Max Aarons found his way into space down the right to pick out Przemyslaw Placheta, who saw his goalbound shot superbly blocked by Roberts.
It was part of a good start by the hosts, but the Swans grew into the game and came so close to taking the lead in the 22nd minute.
Roberts swung in an excellent corner that Ayew met well, only to see his header cannon away off the post.
The Ghanaian then saw an effort blocked a few moments later as the Swans threatened.
The visitors then saw Kyle Naughton and Ryan Bennett booked in quick succession for challenges on Aarons and Teemu Pukki respectively.
Then, on the stroke of half-time, Lowe saw his low effort tipped away for a corner by Canaries’ keeper Tim Krul as the first 45 minutes ended goalless.
Cooper made a change at the break, opting to bring on Matt Grimes for Naughton and tweak Swansea’s shape.
Roberts was backing up his fine form so far this season, and showed his defensive alertness to deny Pukki a shot at goal after the ball had dropped to the Finnish striker in the box.
Shortly after the Swans made their second change as Viktor Gyokeres was introduced in place of Palmer with the game still being a tight battle with few clear chances.
But the best of those opportunities were coming Swansea’s way, with Krul doing brilliantly to deny Lowe just after the hour mark.
The Swans were then furious to see penalty appeals waved away Jake Bidwell appeared to be tripped in the box, before Ayew also saw a shot saved by Krul.
But Norwich then enjoyed a spell of sustained pressure inside the final 10 minutes, and clinched the win when Stiepermann steered home a lay-off.
Norwich City: Tim Krul; Max Aarons, Grant Hanley (captain), Christoph Zimmerman, Jacob Sorensen (Bali Mumba 68); Oliver Skipp, Kenny McLean; Emi Buendia (Alex Tettey 90), Marco Stiepermann, Przemyslaw Placheta (Josh Martin 69); Teemu Pukki.
Substitutes: Michael McGovern, Mario Vrancic, Jordan Hugill, Adam Idah.
Swansea City: Freddie Woodman; Kyle Naughton (Matt Grimes 46), Ryan Bennett, Marc Guehi; Connor Roberts, Korey Smith, Jay Fulton (Yan Dhanda 86), Jake Bidwell; Kasey Palmer (Viktor Gyokeres 59); Andre Ayew (captain), Jamal Lowe.
Substitutes: Steven Benda, Ryan Manning, Wayne Routledge, Joel Latibeaudiere.
Referee: Darren England