Brighton 1 Bristol City 0
Leon Knight struck a late penalty to send Brighton back into Division One at the first attempt and end years of play-off misery for manager Mark McGhee at the Millennium Stadium.
Knight beat Bristol City goalkeeper Steve Phillips from the spot after Danny Coles fouled Chris Iwelumo inside the penalty area to ensure Brighton would join Plymouth and QPR in the First Division.
McGhee has lost out in the play-offs three times as a manager with Millwall and Wolves and once as a player with Newcastle, but Knight helped him finally lay that ghost to rest on a great day for the homeless Seagulls.
Victory was tempered in the knowledge the club face extinction unless Deputy Prime Minister John Prescott gives the all-clear for a new 23,000-seater stadium at Falmer, but Brighton fans will now be hoping for a double celebration when he makes his decision later this summer.
Defeat was tough on the Robins, who made all the running in the match and were unlucky not to take advantage of big-match nerves from Seagulls goalkeeper Ben Roberts on a number of occasions.
But it was to Brighton’s day, and Knight’s 27th goal of the season sent the Seagulls fans in the 65,167 crowd into rapture.
Both clubs reached Cardiff only after late drama in their respective semi-finals. Brighton beat Swindon on penalties after a last-minute goal in extra-time while City scored two late goals to sink Hartlepool.
But neither side showed any signs of fatigue after a long, hard season in a high-tempo opening.
Roberts had no problem holding a 25-yard free-kick from Brian Tinnion but he almost gifted City an opening goal moments later.
Coming for a Tinnion punt, he dropped his catch but did enough to put the lurking Tommy Doherty off his shot and Nathan Jones was on hand to rob Tony Rougier when the ball broke clear.
Roberts was memorably beaten by Chelsea’s Roberto di Matteo while in goal for Middlesbrough during their 1997 FA Cup final defeat, and he was in danger of more unwanted memories here.
He was in trouble again when he fumbled a Craig Woodman cross under pressure from Tony Butler in the 40th minute, but was let off the hook when Butler failed to keep down his shot on turn, slicing the ball harmlessly over from six yards.
The Seagulls almost took advantage when Jones was fouled by Doherty on the edge of City’s box, but Knight’s free-kick came back off the crossbar with two minutes left in the half.
The Robins were without 16-goal striker Lee Peacock up front because of an ankle injury but still looked dangerous and Doherty again drew a nervous punch clear from Roberts with a free-kick from an acute angle.
Brighton threw on John Piercy, and the substitute’s cross almost provided a goal for Iwelumo, only for his glancing header to flash wide of the far post. Yet late drama was to settle the game.
Coles was the guilty party when Iwelumo danced into the area, bringing the Seagulls striker down from behind with a clumsy kick, and Knight stepped up to the spot to stroke home the resulting penalty low and true.
There were just six minutes left for City to stage a comeback, but they looked a beaten side and Knight could have nicked another in stoppage time.