Todd Cantwell opened the scoring for Norwich in the 15th minute at Carrow Road and Finland striker Pukki netted just before half-time.
Nick Powell pulled one back on the hour mark for Stoke, but Emi Buendia and Pukki scored to ensure Norwich moved one point clear of second-placed Brentford.
Brentford will regain top spot if it beats Barnsley on Monday (AEDT).
Fourth-placed Watford bolstered its promotion push with a 6-0 thrashing of Bristol City at Vicarage Road.
The margin of victory was Watford's biggest for six years and the rout was triggered by Taylor Moore's early own goal.
Ismaila Sarr doubled the lead after 15 minutes, setting the platform for an 11th home win from 15 outings this season.
Will Hughes's deflected strike and a Ken Sema effort gave Watford a 4-0 lead inside 36 minutes.
Sarr and Philip Zinckernagel struck in the second half to give Watford its first win in four league games.
Millwall scored two late goals to beat fifth-placed Reading 2-1 at Madejski Stadium.
Alfa Semedo's bizarre 17th-minute goal gave Reading the lead, when the defender's attempted tackle flew in from 50 yards after Bartosz Bialkowski was out of position having thrown the ball out.
But Matt Smith levelled in the 76th minute and Mason Bennett headed in the winner five minutes from time.
Bournemouth remained sixth after a goalless draw at Nottingham Forest.
Middlesbrough failed to take advantage of its play-off rival's slip-up as Derby County won 2-1 at Pride Park.
Kieffer Moore's first-half double gave Cardiff City a third consecutive win with a 3-1 success over struggling Coventry City.
Birmingham City remains second bottom after Dan Potts's first-half header edged Luton Town to a 1-0 win at St Andrew's.
Rock-bottom Wycombe Wanderers recovered from two goals down to win 3-2 at Huddersfield Town.
Juninho Bacuna's close-range header in the 18th minute and Isaac Mbenza's effort just before half-time looked to be taking the Terriers to a first win in seven league matches.
But Wycombe responded on the stroke of the interval through Anis Mehmeti.
Joe Jacobson levelled from the penalty spot after 63 minutes and Josh Knight completed the comeback late on, leaving them 10 points from safety.