Norwich City suffered their first league defeat in five games as Sheffield United held off a late comeback from the Canaries.
An early goal from James Wilson and a second-half strike from Clayton Donaldson gave the Blades a 2-0 lead. Ivo Pinto got City back into it with a fine header, but Norwich couldn’t make their late pressure count.
Daniel Farke made one change from the side who pushed Chelsea all of the way in midweek, with Alex Tettey coming in to central midfield alongside Harrison Reed, and Mario Vrancic dropping to the bench.
After a bright opening few minutes, it was United who took the lead from a corner. Wilson, making his full debut on loan from Manchester United, turned at the far post to strike a loose ball through a series of legs.
The away team were moving it around nicely, with plenty of runners from midfield looking to get into the box. Angus Gunn had to be alert to pull off a double save from Ryan Leonard at his near post on 15 minutes, staying strong to divert both efforts as the Blades pushed to double their lead.
Norwich struggled for any momentum in the opening 20 minutes, relying on balls over the top to Josh Murphy and Nelson Oliveira, but United were dealing with attacks comfortable.
It was the Blades who went closest again just before the half-hour mark. Christoph Zimmermann did brilliantly to dive in for a block as Wilson was about to shoot from six yards, and then George Baldock blazed over from 10 yards with the goal gaping.
City conjured their first real chance in the 36th minute. Harrison Reed picked the ball up on the right, rolled it into Nelson Oliveira just inside City's half, who spun his man and played in Murphy on the right but his shot from a tight angle was saved by Simon Moore.
There was more purpose about City’s play now, and Maddison saw a free-kick pushed around the post by Moore.
Just before half-time City almost levelled things up from an unlikely source. Timm Klose, perhaps emboldened by his cross against Chelsea, cut in from the left and curled one just wide of the far post from 20 yards.
That was the last real action of the half, which had seen Sheffield United dominate for the opening 30 minutes before City ended it on top.
It was United who came out strongest in the second half, however. John Fleck picked up the ball on the edge of the area and skimmed the far post, although Gunn seemed to have it covered. A minute later and Gunn was once again in the thick of it, this time getting behind a 25-yard effort from Ryan Leonard.
After 59 minutes Farke made a double change, with Wes Hoolahan and Mario Vrancic replacing Harrison Reed and Grant Hanley as City switched to four at the back.
City's pressure, with balls into the United box scrambled away, was undone in the 68th minute when a poor pass from Alex Tettey allowed substitute Clayton Donaldson to run in unchallenged on the left and tuck the ball in to the far post.
City were back in it a couple of minutes later, though. Vrancic’s corner found Pinto at the near post and he brilliantly headed it back across and into the far corner to halve the deficit and give the Canaries hope.
Two minutes later and Moore did well to tip over a Zimmermann header from another corner as City pressed for an equaliser. Hoolahan then chipped brilliantly to the far post from the right, but uncharacteristically Maddison failed to get it under control when in space.
Farke made his last change in the 87th minute, Marco Stiepermann replacing Tettey.
There were five minutes of injury time but City struggled to create anything meaningful as United slowed the game down and played out for the win.