Everton edged the opening exchanges and Cenk Tosun almost broke the deadlock on 14 minutes after playing a one-two with Gylfi Sigurdsson but he lashed his shot across the face of goal.
Richarlison was inches away from getting on the end of a Theo Walcott ball across the area before Onel Hernandez was denied by a good one-handed save from Jordan Pickford at the opposite end on 27 minutes.
It was the Canaries who ended the first half in the ascendancy as Cantwell smashed an effort wide at the back post before Byram was denied by Pickford.
Everton went close early in the second half but Norwich survived a scramble in their own box before they then got their noses in front on 56 minutes when Cantwell latched on to a Teemu Pukki knockdown in the area and fired past Pickford.
It should have been 2-0 just after the hour but Byram somehow managed to guide a free header wide from just six yards out.
The closest Everton came to scoring in the second half was on 71 minutes when Sigurdsson tried to tee up substitute Dominic Calvert-Lewin although he couldn’t reach the ball in front of an open goal.
Tosun then thought he had levelled moments later as he looked to find the bottom corner with a low strike but Tim Krul managed to pull off a superb save to deny him.
Norwich were under the cosh in the closing stages but managed to snatch a killer second goal in stoppage time when Emiliano Buendia worked his way into the box and set up fellow substitute Dennis Srbeny to clinch the points.
The defeat leaves Everton down in 15th position on 14 points, while Norwich move off the bottom and up to 18th on 10 points.