Sunderland, who just missed out on automatic promotion, sealed their trip to Wembley with a 2-0 win over sixth-placed Sheffield United, while Charlton beat fifth-placed Ipswich 1-0.
Sunderland had to claw back a 2-1 deficit from the first leg and it was unfortunate that the United defender Nicky Marker drew them level by diverting Allan Johnston's 20-yard effort into his own net in the 22nd minute.
Top scorer Kevin Phillips then gave Sunderland a deserved lead in the 38th minute with his 34th goal of the season - which equals Brian Clough's post-war record.
Sunderland continued to bombard United's goal in the first half, but after the break Lionel Perez pulled off three sensational saves to deny United the vital goal in front of 40,092 at the Stadium of Light.
Shaun Newton secured Charlton's place in the final by wrapping up a 2- 0 aggregate victory at The Valley. Charlton held a 1-0 advantage from the first leg and Newton's 36th-minute effort clinched Charlton's first Wembley appearance for 11 years.
Northampton staged the comeback of the play-offs in the Second Division after trailing 3-1 to Bristol Rovers in the first leg. Carl Hegg, returning after a four-match suspension, fired them into a 34th-minute lead and Ian Clarkson drew the Cobblers level on 61 minutes.
Ray Warburton sealed a 3-0 second-leg success and 4-3 aggregate triumph in the 77th minute. Northampton will now meet Grimsby at Wembley on 24 May for a First Division place next season.
Grimsby, who finished third in the Second Division and won the Auto Windscreens Shield at Wembley last month, had Kevin Donovan to thank for their second trip to the twin towers this season.
He struck nine minutes from time against Fulham to clinch a 2-1 aggregate win, after Kevin Keegan's men had had Paul Peschisolido sent off after half an hour.
In the Third Division, Torquay stormed to Wembley with a 4-1 second-leg win and 7-2 aggregate victory over Scarborough, who had two players sent off. Torquay will meet Colchester in the final on May 22, although Colchester needed extra time to beat 10-man Barnet who had held held a 1-0 advantage from the first leg.Reuse content