Match ends, Sheffield Wednesday 1, Sunderland 1.
Sunderland will play Wycombe in the League One play-off final after Patrick Roberts' stoppage-time goal at Sheffield Wednesday.
The Black Cats had led 1-0 from the first leg but Lee Gregory wiped out their advantage in the second half.
Wednesday then looked the more likely to go on and get a second but the Wearsiders caught them cold.
Jack Clarke escaped down the left and pulled the ball back for Roberts to crash a shot home.
Wednesday still had time to find a second goal that would have sent the tie to extra time because of the 10 minutes that were added on following Sam Hutchinson's head injury earlier in the second half - but they could not fashion one more big chance.
They will now spend at least another campaign in the third tier after being relegated from the Championship on the final day of last season.
Sunderland's progress means that the play-off final will be contested by the teams who finished fifth and sixth in League One, after the Chairboys got past third-placed MK Dons.
Alex Neil will look to guide them to a victory at Wembley that will end a four-year spell in League One after their successive relegations from the Premier League.
Wednesday had the better of a tetchy first half but the closest they came to a goal was when Anthony Patterson easily held George Byers' well-executed bicycle kick.
Roberts sent a shot straight at home goalkeeper Bailey Peacock-Farrell after an enterprising run from Clarke, before Gregory levelled the tie with a close-range finish after Barry Bannan's incisive pass had freed Marvin Johnson down the inside left and he cut back first time.
Thereafter it looked like the home side were the more likely to go on and find a second goal that would have taken them to Wembley.
However, Tottenham loanee Clarke got away down the left and pulled the ball back for the onrushing Roberts to convert and spark wild celebrations among the travelling fans.
Neil to succeed where others failed?
Neil will now look to succeed where Jack Ross, Phil Parkinson and Lee Johnson all failed and lead the Black Cats back to the Championship.
The Scot took over in February after Johnson was sacked the previous month following a humbling 6-0 defeat at Bolton Wanderers.
Former Manchester United midfielder and Black Cats boss Roy Keane had been the leading candidate to take over at one stage but ex-Norwich and Preston boss Neil has proved an astute appointment.
They have lost just one of his 17 matches in charge and they dug in at Hillsborough to get the result they needed.
Sunderland have never previously won promotion through the play-offs, with six failed attempts, but in Neil they have a man who has guided both Hamilton and the Canaries up through the play-offs.
His tie-winner Roberts was influential throughout the two semi-final games.
The 25-year-old joined the Wearsiders in January on a deal until the end of the season after being released by Manchester City, where he made just one Premier League appearance and had numerous loan spells during six-and-a-half years at the club.
The former England Under-20 man scored for loan side Derby on the final day of last season to send Wednesday down from the Championship and popped up again in time added on to haunt the Owls once more.
'A bridge too far' for Owls
Like the Black Cats, the Owls have a poor record in play-offs and they have now been unsuccessful in their past three attempts, including defeat by Hull City in the 2016 Championship play-off final.
Their fans felt they were on the wrong end of a number of 50-50 decisions and were enraged when a penalty was not awarded for handball when Dennis Cirkin fell onto the ball in the area in the first half, but in truth they did not make Patterson in the Sunderland goal make a real save of note prior to or after Gregory's goal.
Wednesday boss Darren Moore told Sky Sports the game was "a bridge too far" for his side, who had finished one point and one place above their opponents.
They will be one of the favourites for promotion once again next season and will hope to avoid a similar fate to city rivals Sheffield United, who spent six seasons in the third tier between 2011 and 2017.
'It's only got us to an opportunity' - reaction
Sunderland boss Alex Neil told BBC Radio Newcastle:
"I thought it was no more than we deserved from the game. We switched off once and we were punished for it, other than that I thought we defended extremely well.
"I thought we were the better team and that's the first time I've not made early changes because I had so much belief in that team to win this game or get the result we needed, and I felt if I was going to change it I would dilute it. I'm really pleased I stuck to my guns.
"I'm over the moon for the players because they deserve it. We are on an unbelievable run of results and the players deserve a huge amount of credit.
"But for us, it's only got us to an opportunity now. Although we're happy and we'll celebrate, we need to get our mind on the next one."
Sheffield Wednesday boss Darren Moore told BBC Radio Sheffield:
"I thought we set about Sunderland from the word go and it was a much better performance, we closed the spaces down, we didn't allow them to get any momentum in the game.
"We got back into the game, scored a great goal and the impetus and momentum looked like it was with us.
"Their goal came against the run of play and that's the disappointing thing - conceding at that late stage of the game when the players had put that much effort into it.
"I've no complaint with the effort and endeavour that the players put in, and the fans will have witnessed that.
"I'm gutted for the players. The players are gutted that we've gone out of the play-offs and it's the end of the journey for this season."
- 16DeanBooked at 77mins
- 5HutchinsonSubstituted forPalmerat 70'minutes
- 32HuntSubstituted forMendez-Laingat 71'minutes
- 14ByersBooked at 24minsSubstituted forBerahinoat 90+5'minutes
- 10BannanBooked at 28mins
- 11WindassSubstituted forPatersonat 78'minutes
- 25ClarkeSubstituted forDoyleat 90+8'minutes
- 21PritchardSubstituted forMateteat 90+7'minutesBooked at 90mins
- 77RobertsSubstituted forBroadheadat 90+7'minutes
- 14StewartBooked at 45mins
- James Linington
- Shots on Target
Second Half ends, Sheffield Wednesday 1, Sunderland 1.
Attempt blocked. Massimo Luongo (Sheffield Wednesday) left footed shot from the centre of the box is blocked. Assisted by Nathaniel Mendez-Laing.
Jay Matete (Sunderland) is shown the yellow card.
Offside, Sunderland. Ross Stewart tries a through ball, but Jay Matete is caught offside.
Substitution, Sunderland. Callum Doyle replaces Jack Clarke.
Substitution, Sunderland. Jay Matete replaces Alex Pritchard.
Substitution, Sunderland. Nathan Broadhead replaces Patrick Roberts.
Substitution, Sheffield Wednesday. Saido Berahino replaces George Byers.
Goal! Sheffield Wednesday 1, Sunderland 1. Patrick Roberts (Sunderland) left footed shot from very close range to the centre of the goal. Assisted by Jack Clarke.
Foul by Lee Gregory (Sheffield Wednesday).
Dennis Cirkin (Sunderland) wins a free kick in the defensive half.
Foul by Nathaniel Mendez-Laing (Sheffield Wednesday).
Ross Stewart (Sunderland) wins a free kick in the defensive half.
Attempt blocked. George Byers (Sheffield Wednesday) right footed shot from outside the box is blocked. Assisted by Lee Gregory.
Foul by Callum Paterson (Sheffield Wednesday).
Bailey Wright (Sunderland) wins a free kick in the defensive half.
George Byers (Sheffield Wednesday) wins a free kick in the defensive half.
Foul by Alex Pritchard (Sunderland).
Attempt missed. Alex Pritchard (Sunderland) left footed shot from the left side of the box misses to the left. Assisted by Ross Stewart with a headed pass.