The Seagulls, who had picked up only two points from their last five games, spoiled Leicester's promotion celebrations with goals from Stephen Ward, Jesse Lingard and a second-half brace from Leonardo Ulloa.
The Foxes' only goal came from substitute Gary Taylor-Fletcher in the 89th minute.
The win gave Brighton the double over Leicester and ended the Foxes' 21-match unbeaten run in the Sky Bet Championship. Brighton were the last team to beat Leicester in early December.
The result put them back into the mix for a play-off place while Leicester looked a pale shadow of the side that has swept all before them this season.
With Leicester's promotion confirmed over the weekend, there was a party atmosphere in the stadium - but the Foxes' first-half performance had a hangover look about it.
Manager Nigel Pearson made four changes from the side that beat Sheffield Wednesday last Friday with Paul Konchesky, Liam Moore, Andy King and Kevin Phillips replacing Jeff Schlupp, Ritchie De Laet, Matty James and Chris Wood.
Brighton were still without Spanish defender Bruno because of suspension and once again had striker Craig Mackail - Smith on the substitutes' bench.
But right from the start Leicester looked well below the form that has earned them a return to the Barclays Premier League and Brighton fully deserved the two-goal lead they built in the first 45 minutes.
Veteran Phillips, making his first start for City, could have put them ahead in the eighth minute but Konchesky's cross hit him on the knee and bounced wide. A minute later a long range shot from Riyad Mahrez was comfortably saved by Tomasz Kuszczak - and from then on Brighton dominated.
They chased and harried for every ball and City were clearly knocked out of their stride. But it was poor defending that was responsible for two Brighton goals in the space of seven minutes.
In the 17th minute Ward's left-wing corner found Dale Stephens unmarked a few yards from goal and he beat Kasper Schmeichel with a stooping header.
Then in the 24th minute Ward again crossed from the left flank and this time it was Jesse Lingard left unmarked to embarrass City with another easy headed goal.
It was certainly nothing like a top-of-the-table show from the Foxes so far, and they could have been three down in the 28th minute. Ulloa took advantage of a slip by Marcin Wasilewski but lobbed his shot just wide of the far post.
Kazenga Lualua brought Schmeichel to a full length save with a shot from 25 yards and although City rallied with a Danny Drinkwater shot that was blocked and a header from King that sailed high and wide. it had been Brighton's half.
So it was no great surprise when Pearson made two changes at half-time, with Wood and Lloyd Dyer coming on for Phillips and Knockaert. And Wood almost snatched a goal with his first touch of the ball hitting the post after a long throw by Moore.
But Brighton also went close a few minutes later when Stephens flicked a shot past Schmeichel only to see Wasilewski clear off the line.
King then had Kuszczak scrambling to save a 25-yard free-kick before Brighton scored a third in the 64th minute.
A long through ball by Stephens found Ulloa unmarked and he went round Schmeichel before firing into the net.
Ulloa struck again in the 79th minute with a header from Lualua's cross, making Brighton the first team to score four goals against Leicester in a league game this season.
City finally snatched a goal in the 89th minute substitute Taylor-Fletcher scoring from a low cross from Dyer.