Substitute Amad Diallo scored an 86th-minute penalty to earn Sunderland a point and deny promotion-chasing Luton Town a fifth Championship victory in a six-game unbeaten run.
Diallo confidently smashed his spot-kick into the top corner, after earning the penalty himself, to stop the miserly Hatters claiming a fourth consecutive 1-0 victory.
Alfie Doughty's second-half strike looked like it was going to be enough to earn a win that would have moved Luton to within four points of second-placed Sheffield United.
But a spirited late push by the the Black Cats finally wore down the Luton resistance and earned a deserved draw, which prevented Tony Mowbray's side from slipping to a fifth defeat in six league games.Relive Saturday's EFL action
Despite the late blow, Rob Edwards' men remain in fourth, but they are now six points adrift of the Blades, who are in FA Cup quarter-final action on Sunday, and three behind third-placed Middlesbrough who were comprehensive 4-0 winners over over Preston.
A largely uneventful first 45 minutes at the Stadium of Light had brought little hope of a thrilling second period, with only half-chances for both sides that barely troubled Sunderland keeper Anthony Patterson or his counterpart Ethan Horvath.
The hosts had the better of the possession and also came closest to breaking the deadlock, Dan Neil striking the outside of the post from the edge of the box after some great approach play by Jack Clarke on the left wing.
But with just a shot on target apiece, the creativity and goalmouth incident fell a long way short of matching the endeavour.
That changed on the restart on the back of four half-time changes by Sunderland. The impressive Doughty had a fine low shot brilliantly pushed away by Patterson, before the midfielder profited from a goalkeeping error when his strike squirmed through the keeper's grasp following a well-worked free-kick.
Luke O'Nien almost levelled with in a couple of minutes, but his volley was well parried by Horvath, while Joe Gelhardt dragged an effort just wide.
But that was a sign of things to come as the Sunderland threat increased, culminating in on-loan Manchester United winger Diallo's ninth league goal levelling the scores late on after he was felled by Amari Bell - a penalty decision that infuriated the Luton coaching staff.
Sunderland boss Tony Mowbray told BBC Radio Newcastle:
"We were unfortunate to be behind. We just needed more energy on the pitch. We got there in the end. We didn't deserve to lose. We'll take a point and move on.
"We are missing certain ingredients that will make us a really good team, But we have to get on with it. I don't want to keep moaning about who is not available. Let's keep going and be competitive. We were that today.
"I have to be careful not be overly critical of this inexperienced group. But it seemed a bit pedantic, a bit slow [in the first half]. We were not looking forward enough and were a bit slow at the back but you have to give young players belief.
"Ultimately it was the substitutions that gave us a spark and energy to push on. So I think they are doing great. Luton was a team that are fourth in the league and we more than matched them. We are not far away. We have the nucleus of an exciting team."
Luton Town boss Rob Edwards told BBC Three Counties Radio:
"It was not to be. The players deserved the win. The performance overall was very good.
"We're in great shape, but ultimately a wrong decision [the penalty call] cost us. I feel like the boy has bought it.
"That changed the momentum and dynamics. It lifted them completely and we could have gone from three points to nothing. I am proud of the lads. It was some shift. We had real periods of control.
"I'm sure we'll look back on it and say it was a really good point, but it's tough to take now. We are greedy and want three points every game."
Formation 4-2-3-11Patterson32HumeSubstituted forPritchardat 72'minutes5Ballard6Batth13O'Nien25MichutSubstituted forGoochat 72'minutes24NeilSubstituted forBennetteat 72'minutes10Roberts17BaSubstituted forDialloat 55'minutes20Clarke28GelhardtSubstituted forEkwahat 72'minutes
Formation 3-4-1-234Horvath32Osho4LockyerBooked at 36mins29Bell2Drameh13Nakamba8BerrySubstituted forClarkat 57'minutes45DoughtySubstituted forOnyedinmaat 75'minutes22Campbell9MorrisBooked at 90mins11AdebayoBooked at 81minsSubstituted forWoodrowat 83'minutesBooked at 81mins
Match ends, Sunderland 1, Luton Town 1.
Second Half ends, Sunderland 1, Luton Town 1.
Foul by Danny Batth (Sunderland).
Carlton Morris (Luton Town) wins a free kick in the defensive half.
Attempt missed. Jack Clarke (Sunderland) right footed shot from the centre of the box misses to the left.
Foul by Luke O'Nien (Sunderland).
Carlton Morris (Luton Town) wins a free kick on the right wing.
Carlton Morris (Luton Town) is shown the yellow card for a bad foul.
Amad Diallo (Sunderland) wins a free kick on the right wing.
Foul by Carlton Morris (Luton Town).
Corner, Sunderland. Conceded by Jordan Clark.
Dan Ballard (Sunderland) wins a free kick in the defensive half.
Foul by Carlton Morris (Luton Town).
Goal! Sunderland 1, Luton Town 1. Amad Diallo (Sunderland) converts the penalty with a left footed shot to the top left corner.
Penalty Sunderland. Amad Diallo draws a foul in the penalty area.
Penalty conceded by Amari'i Bell (Luton Town) after a foul in the penalty area.
Substitution, Luton Town. Cauley Woodrow replaces Elijah Adebayo.
Amad Diallo (Sunderland) wins a free kick in the attacking half.
Foul by Elijah Adebayo (Luton Town).
Elijah Adebayo (Luton Town) is shown the yellow card for a bad foul.