Junior Stanislas opened the scoring in the third minute and doubled the advantage from the penalty spot six minutes into the second half after Dominic Solanke was fouled by Jack Colback.
Norwich held its nerve with just 10 men as the Championship leader survived Stoke's furious fightback in a dramatic 3-2 win.
Daniel Farke's side opened the scoring in the 18th minute when Emi Buendia drilled home.
It was 2-0 nine minutes later when Teemu Pukki volleyed into the far corner for his sixth goal of the season.
Norwich extended its lead in the 57th minute when Pukki rounded Stoke goalkeeper Joe Bursik to score his second.
But the game changed in the 69th minute when Buendia was sent off for a second booking and a minute later Tyrese Campbell pulled one back.
Nathan Collins headed in from a corner to reduce the deficit but Norwich held on to extend its unbeaten run to nine games.
Ivan Toney's 12th goal of the season gave Brentford a 1-0 victory at Barnsley, extending its unbeaten run to six league games.
Blackburn won 3-0 against 10-man Preston at Deepdale.
Goals from Adam Armstrong, Ben Brereton and Tyrhys Dolan secured Rovers their first victory over their Lancashire rival in five years.
QPR claimed its first win in three games as it beat Rotherham 3-2 at Loftus Road.
Luton and Birmingham shared a 1-1 draw at Kenilworth Road, Matty Pearson levelling after Lukas Jutkiewicz had put the Blues ahead from the penalty spot.
Wycombe has now lost just one of its last six league matches after a goalless draw with Huddersfield, which has one win from its last seven.