Another chance that slipped away.
There seems unlikely to be any more.
Sunderland could have settled the game in the first half, they didn't.
They finally took the lead in the second, but they couldn't hold on.
Typically, it was a set-piece that proved their undoing. It has been like that all season, and this was the most brutal. They were minutes away from three points that might have changed it all but instead they lost the first ball and were too slow to respond.
Ivo Pinto converted and the prospect of a great escape disappeared into the Wearside mist.
The Black Cats could and perhaps should have had it wrapped up by half-time.
It was a 45 of missed opportunities for both sides, but the hosts more so.
They started well, only ten seconds on the clock when Ashley Fletcher pounced on a loose pass and drew a good save from Angus Gunn at his near post.
Aggressive in their pressing and running, Sunderland caused problems, though at the other end they were open.
Norwich almost took the lead when Nelson Oliveira nodded a corner towards goal, kept out by a combination of George Honeyman and the goal post.
In a swinging passage of play typical of the game, Lynden Gooch then fired wide before Oliveira was again free in the box. He met Josh Murphy's clever cross at the back post but sliced his effort away from goal.
Murphy himself ran in on goal as the Sunderland defence was caught out, but his chip went over Lee Camp and onto the roof of the net.
For the hosts, there were three clear openings they were somehow unable to convert.
First came shortly before Murphy's chip, Gooch stealing the ball but overcooking his pass back inside for Fletcher.
The Middlesbrough loanee had performed well and won a penalty when he raced onto an Aiden McGeady pass. He cut across Grant Hanley, the centre-back badly mistiming his challenge. McGeady stepped up, sent Gunn the wrong way, and struck the post.
The Black Cats kept pushing and when Gooch released Ovie Ejaria, he was one-on-one and looked certain to score. He wanted to round Gunn but the goalkeeper did not commit, Ejaria unable to convert.
Sunderland started the second half the better side but it was Norwich, who made two half-time substitutions, who had the best early opening. They swept up the pitch following a misplaced McGeady pass, Oliveira curling an effort inches wide of the far post.
They spurned an ever greater opportunity moments later, Gooch's poor pass allowing Pinto to advance down the right. He teed up Oliveira, who had an effort deflected to the back post where Maddison somehow struck the post with the goal gaping.
Sunderland capitalised. Aiden McGeady cut inside and beat Gunn with a rasping low drive. He struck the post, but George Honeyman had gambled and was there to convert the simplest of finishes.
Norwich pushed for an equaliser, with Timm Klose firing just wide after Sunderland failed to clear their lines.
The Black Cats looked rattled when captain John O'Shea left the field with an injury and eventually it cost them.
Their composure had been poor and when they couldn't deal with Maddison's free-kick, Pinto was there to score.
The Canaries could have nicked it in the end, missing two gilt-edged chances as the Black Cats pondered another opportunity missed.
Sunderland XI: Camp; Love, Kone, O'Shea (Clarke-Salter, 70), Matthews (Oviedo, 45); Cattermole, Honeyman, Ejaria; McGeady, Gooch (Lualua, 90), Fletcher
Subs: Steele, McManaman, Asoro, Robson
Norwich City XI: Gunn; Pinto, Hanley, Zimmerman (Srbeny, 78), Husband (Lewis, 45); Reed, Maddison; Vrancic, Hoolahan (Klose, 45), Murphy; Oliveira
Subs: McGovern, Leitner, Klose, Raggett, Tetty