Luka Milivojevic's first-half penalty and a late strike by Andros Townsend was enough to give Crystal Palace a third win of the season and inflict more away pain on Norwich.
The Canaries had chances in the opening 45 minutes at Selhurst Park, but failed to take them and struggled to create after the break as Palace ran out 2-0 winners.
It saw the promoted visitors leave London with another defeat – making it five in a row on the road this season – and more injuries to add to an already hefty list.
Roy Hodgson would have pleased with his players after they conceded late in the 1-1 draw at home to Wolves last weekend and they are now unbeaten in their last six games at Selhurst Park following this win.
Wilfried Zaha had yet to get off the mark this season, but signalled his intent inside 60 seconds when he dribbled into the area and smashed over from the right.
James McArthur had robbed Todd Cantwell of possession and the Norwich playmaker gave the ball away again in the 13th minute, which almost cost his team.
The lively Zaha played in Jordan Ayew and he attempted a 22-yard shot, which Ralf Fahrmann – in for the injured Tim Krul – parried away on his league debut for Norwich.
The Canaries' German stopper had not been tested much during the opening exchanges, but had to pick the ball out of his net in the 21st minute.
Zaha was involved once more, turning Cantwell and although his cross failed to pick out a team-mate, McArthur got to the loose ball ahead of Ibrahim Amadou and won his team a spot-kick.
Milivojevic made no mistake from 12 yards, curling into the top corner and Norwich's pain increased when Fahrmann, only just back from a groin injury, needed to be replaced by Michael McGovern, who was making his first league appearance since April 2017.
Daniel Farke's men did regroup admirably and top goalscorer Teemu Pukki had his first shot in the 29th minute, but Vicente Guaita was able to tip over.
Norwich were finishing the half strongly and only a fine block by the returning Martin Kelly prevented Cantwell from equalising in the 36th minute after Max Aarons' superb venture forward.
Guaita was called into action six minutes before the break, but he denied Emiliano Buendia and Palace remained ahead despite a barrage of pressure from the visitors.
Aware they needed a second, Hodgson's side had more purpose about their play at the start of the half and McArthur got into a number of promising positions.
The visitors made a second change in the 66th minute with Marco Stiepermann replaced by Josip Drmic before Palace responded with Townsend on for Cheikhou Kouyate four minutes later.
It was a positive move by the hosts, and they had prevented Norwich from dictating play far better since the break with the away side not winning their first corner of the game until the 75th minute.
Ayew and Zaha both had chances to secure the points during the final quarter of an hour, but were unable to test McGovern.
Eventually the second arrived for Palace and Zaha was at the heart of it, wriggling away from his marker before finding Townsend and he curled into the corner in the second minute of stoppage time to wrap up a 2-0 win.