Wilfried Zaha scored both goals as Crystal Palace beat arch-rivals Brighton to set up a Championship play-off final date with Watford.
Ashley Barnes had Brighton's best two chances moments after coming on, having one effort saved onto the bar and another cleared off the line.
Manchester United-bound Zaha struck with 21 minutes left with a stooping header from Yannick Bolasie's cross.
Form book turned on its head
- Brighton had gone 10 games unbeaten and had not lost at home since playing Arsenal in the FA Cup in January
- Palace had only won one of the last 11 games, and had only scored one goal in their last five away games
And he sealed it with a late strike into the roof of the net.
The final against Watford is at Wembley on Monday, 27 May.
England international Zaha, 20, was Sir Alex Ferguson's final signing as Manchester United boss in January but was allowed to end the season on loan at Palace, a decision which could prove the difference between another season in the second tier and a return to the Premier League after eight years away.
The teams drew the first leg 0-0 at Selhurst Park, making the second leg a winner-takes-all showdown at the Amex Stadium.
Brighton came into the game with all the form - they were unbeaten in 10, while Palace's late collapse, which saw them go nine games without a win until the final day, almost saw them miss out on the play-offs.
Zaha finds form at right time
Wilfried Zaha had only scored once since his move to Manchester United was confirmed in January and had not scored an away goal since October
In fact the Seagulls had won the corresponding league fixture 3-0 in March. The omens looked even more against the Eagles when 30-goal top scorer Glenn Murray suffered a serious knee injury in the first game and was ruled out of the second leg.
His replacement, Aaron Wilbraham, had only scored one goal in 25 league games this season but had the first chance, poking the ball wide from six yards out.
The first half was a cagey affair with defences on top but after the break the game started to open up.
Zaha was lively throughout on the left wing and caused right-back Inigo Calderon all kinds of problems, and he set up the first major chance of the game, his brilliant through-ball putting Jonathan Williams in on goal but the young Wales international fired just wide.
Seagulls manager Gus Poyet, trying to help his side return to the top flight after a 30-year absence, made a substitution after 64 minutes, bringing Barnes on for Andrea Orlandi.
And it almost paid immediate dividends. The forward's first touch was on target with Julian Speroni deflecting the ball onto the crossbar and from the resulting corner his header was cleared off the line by Dean Moxey.
With that, Brighton's chance to win the game had gone as five minutes later, substitute Bolasie's brilliant left-wing cross was headed home by Zaha, who had snuck in behind Wayne Bridge to convert.
And as the home side pushed for a leveller, Zaha sent the Eagles to Wembley as he received another Bolasie pass, before turning Gordon Greer to fire home from 12 yards out.
Brighton & Hove Albion
- 29 Kuszczak
- 03 Greer
- 14 Calderon Booked (LuaLua - 72' )
- 20 Upson
- 28 Bridge
- 04 Hammond
- 11 Orlandi (Barnes - 64' )
- 21 David Lopez
- 26 Bridcutt
- 30 Buckley Booked
- 19 Ulloa
- 01 Brezovan
- 06 El-Abd
- 22 Painter
- 08 Crofts
- 18 Dicker
- 25 LuaLua
- 09 Barnes
- 01 Speroni
- 02 Ward
- 21 Moxey
- 27 Delaney
- 33 Gabbidon
- 08 Dikgacoi Booked
- 10 Garvan (Moritz - 61' )
- 15 Jedinak
- 20 Williams (Bolasie - 62' )
- 16 Zaha (O'Keefe - 90' )
- 18 Wilbraham
- 34 Price
- 28 Ramage
- 03 Richards
- 07 Bolasie
- 22 O'Keefe
- 30 Moritz
- 09 K Phillips
Live Text Commentary
Full Time The referee blows for the end of the match.90:00 +4:13
Yannick Bolasie fouled by David Lopez, the ref awards a free kick. Aaron Wilbraham takes the direct free kick.90:00 +3:29
Stuart O'Keefe challenges Ashley Barnes unfairly and gives away a free kick. Kazenga LuaLua takes the direct free kick.90:00 +2:32
The ball is delivered by Dean Hammond, Ashley Barnes takes a shot. Save by Julian Speroni.90:00 +2:04
Yannick Bolasie produces a right-footed shot from just outside the box that misses to the right of the net.90:00 +1:26
Stuart O'Keefe gives away a free kick for an unfair challenge on Ashley Barnes. Free kick crossed by David Lopez.90:00 +1:14
Kazenga LuaLua sends in a cross, Mile Jedinak manages to make a clearance.89:25 Substitution
Substitution Stuart O'Keefe replaces Wilfried Zaha.87:20
Assist on the goal came from Kagisho Dikgacoi.87:20 Goal scored
Goal! - Wilfried Zaha - Brighton 0 - 2 C Palace Wilfried Zaha grabs a goal from inside the penalty area to the top left corner of the goal. Brighton 0 (0)-(2) 2 Crystal Palace.85:52
Dean Moxey gives away a free kick for an unfair challenge on Will Buckley. Free kick taken by David Lopez.85:35
Aaron Wilbraham has an effort at goal from just inside the box that misses to the right of the goal.83:32
Andre Moritz takes a shot. Blocked by Wayne Bridge. Andre Moritz takes the inswinging corner, Aaron Wilbraham has an effort at goal from deep inside the area missing to the left of the goal.82:17
Free kick awarded for an unfair challenge on Wilfried Zaha by Dean Hammond. Direct free kick taken by Dean Moxey.81:10
David Lopez sends in a cross, free kick awarded for a foul by Ashley Barnes on Daniel Gabbidon. Free kick taken by Julian Speroni.80:51
Foul by Joel Ward on Kazenga LuaLua, free kick awarded. Free kick taken by Kazenga LuaLua.79:30
Free kick awarded for an unfair challenge on Mile Jedinak by Ashley Barnes. Damien Delaney takes the free kick.77:23
The ball is crossed by Kazenga LuaLua.75:36
Damien Delaney takes the free kick.75:36 Booking
Booking Will Buckley is given a yellow card.
Free kick awarded for a foul by Will Buckley on Dean Moxey.74:40
Kazenga LuaLua gives away a free kick for an unfair challenge on Joel Ward. Free kick taken by Julian Speroni.72:47
Free kick awarded for an unfair challenge on Kazenga LuaLua by Joel Ward. David Lopez crosses the ball from the free kick right-footed from left by-line.72:10
The ball is swung over by Kazenga LuaLua, Kagisho Dikgacoi makes a clearance.71:08 Substitution
Substitution Inigo Calderon goes off and Kazenga LuaLua comes on.70:49
Kagisho Dikgacoi takes a shot. Tomasz Kuszczak makes a save.68:55
Assist on the goal came from Yannick Bolasie.68:55 Goal scored
Goal! - Wilfried Zaha - Brighton 0 - 1 C Palace Wilfried Zaha finds the net with a headed goal from close range. Brighton 0 (0)-(1) 1 Crystal Palace.68:06
Centre by Dean Moxey, Jose Ulloa makes a clearance.67:38
Corner taken by Andre Moritz from the right by-line.67:25
The ball is delivered by Dean Moxey, clearance made by Matthew Upson.66:47
The ball is sent over by Will Buckley, save by Julian Speroni.65:30
Jose Ulloa is flagged offside by the assistant referee. Free kick taken by Julian Speroni.64:46
Outswinging corner taken right-footed by David Lopez from the right by-line, Ashley Barnes takes a shot. Dean Moxey makes a clearance.64:20
Ashley Barnes takes a shot.63:30
Gordon Greer takes the free kick.63:30 Substitution
Substitution Andrea Orlandi goes off and Ashley Barnes comes on.63:30 Booking
Booking Booking for Kagisho Dikgacoi.63:22
Free kick awarded for an unfair challenge on Will Buckley by Kagisho Dikgacoi.62:35
Unfair challenge on Yannick Bolasie by Wayne Bridge results in a free kick. Free kick crossed left-footed by Andre Moritz, Andrea Orlandi manages to make a clearance.61:18 Substitution
Substitution Yannick Bolasie replaces Jonathan Williams.61:00 Substitution
Substitution Andre Moritz on for Owen Garvan.59:58
Inigo Calderon sends in a cross, Kagisho Dikgacoi makes a clearance.59:19
The ball is sent over by Will Buckley.57:22
Unfair challenge on Jonathan Williams by Andrea Orlandi results in a free kick. Free kick taken by Dean Moxey.56:56
Short corner worked by Wilfried Zaha.56:31
Liam Bridcutt challenges Wilfried Zaha unfairly and gives away a free kick. Direct free kick taken by Damien Delaney.55:40
Owen Garvan handles the ball and concedes a free kick. David Lopez takes the direct free kick.52:52
Foul by Joel Ward on Andrea Orlandi, free kick awarded. Free kick taken by David Lopez.49:06
Free kick awarded for an unfair challenge on Will Buckley by Wilfried Zaha. Tomasz Kuszczak takes the free kick.47:40
Effort from the edge of the box by Jonathan Williams goes wide of the left-hand upright.46:55
Jonathan Williams concedes a free kick for a foul on Wayne Bridge. Direct free kick taken by David Lopez.45:15
The assistant referee flags for offside against Jose Ulloa. Julian Speroni takes the indirect free kick.45:01
The referee blows his whistle to start the second half.45:00 +3:21 Half time
Half Time It is the end of the first-half.45:00 +2:50
Jose Ulloa gives away a free kick for an unfair challenge on Damien Delaney. Free kick taken by Damien Delaney.45:00 +1:44
Free kick awarded for a foul by Aaron Wilbraham on Gordon Greer. Direct free kick taken by Gordon Greer.45:00 +0:47
Julian Speroni takes the free kick.45:00 +0:47 Booking
Booking The referee cautions Inigo Calderon for unsporting behaviour.45:00 +0:29
Inigo Calderon concedes a free kick for a foul on Wilfried Zaha.42:33
Wayne Bridge challenges Joel Ward unfairly and gives away a free kick. Julian Speroni restarts play with the free kick.40:48
The ball is sent over by Daniel Gabbidon, Gordon Greer manages to make a clearance.40:28
Corner taken by Jonathan Williams played to the near post, clearance made by Andrea Orlandi.40:05
Wilfried Zaha delivers the ball, Matthew Upson makes a clearance.38:56
Free kick awarded for a foul by Owen Garvan on Liam Bridcutt. Gordon Greer takes the free kick.38:14
Owen Garvan is penalised for a handball. Gordon Greer restarts play with the free kick.34:19
Dean Hammond challenges Wilfried Zaha unfairly and gives away a free kick. Damien Delaney restarts play with the free kick.31:08
Free kick awarded for a foul by Dean Moxey on Will Buckley. The free kick is delivered right-footed by David Lopez from right wing, clearance by Mile Jedinak.30:23
The ball is swung over by Kagisho Dikgacoi, clearance by Gordon Greer.28:02
Owen Garvan takes a inswinging corner to the near post.25:07
The ball is delivered by Liam Bridcutt, Shot by Andrea Orlandi. Save made by Julian Speroni.24:00
Wilfried Zaha gives away a free kick for an unfair challenge on Will Buckley. David Lopez restarts play with the free kick.23:20
Owen Garvan takes a shot. Save by Tomasz Kuszczak.20:28
Dean Hammond produces a right-footed shot from just outside the penalty box that misses to the left of the target.19:37
Inswinging corner taken from the left by-line by Jonathan Williams.18:52
Joel Ward fouled by Andrea Orlandi, the ref awards a free kick. Joel Ward takes the direct free kick.16:27
The ball is swung over by Inigo Calderon, clearance made by Joel Ward. David Lopez produces a curled left-footed shot from 20 yards. Blocked by Daniel Gabbidon. Corner from the left by-line taken by Andrea Orlandi, Headed effort from deep inside the penalty area by Gordon Greer misses to the right of the target.13:57
Inigo Calderon delivers the ball, Mile Jedinak makes a clearance.11:51
David Lopez produces a volleyed right-footed shot from 20 yards. Kagisho Dikgacoi gets a block in. Corner taken right-footed by David Lopez from the right by-line to the near post, Damien Delaney makes a clearance. Will Buckley takes a shot. Save by Julian Speroni.6:12
Julian Speroni fouled by Jose Ulloa, the ref awards a free kick. Julian Speroni takes the direct free kick.4:15
Effort from 25 yards by Owen Garvan.3:27
The ball is swung over by Joel Ward, Gordon Greer makes a clearance.0:00
The ref blows the whistle to start the match.
Live data and text provided by our data suppliers