Cardiff City's lead at the top of the Championship is down to five points after Brighton's hard-earned 2-0 win.
Midfielder Andrea Orlandi struck just before the interval to give the Seagulls a 1-0 half-time lead.
Brighton's former Manchester United goalkeeper Tomasz Kuszczak produced a string of good saves in the first half.
And Leonardo Ulloa scored a deflected goal in second-half added time to seal the victory for Brighton and boost their play-off bid.
With main rivals Hull and Watford both winning, it was bad news all around for Cardiff manager Malky Mackay on his 41st birthday.
Middlesbrough's draw at Burnley leaves Brighton two points outside the promotion play-off positions.
Much of the pre-match publicity had surrounded the decision by Cardiff City's Malaysian owners to hand out red scarves to the Cardiff fans.
But it was the points given away which will be of greater concern to the supporters, though they still have an eight-point cushion over Watford in the automatic promotion places.
The Bluebirds went into the game unbeaten in nine matches, having won seven of those.
And for much of the first half, they looked the more likely to take the lead as Brighton goalkeeper Kuszczak had to be on his toes to keep a clean sheet.
Craig Noone had a chance in the 15th minute after a strong run by Andrew Taylor, but his delicate attempt was saved by the Pole.
Cardiff City had lost only once in the league at home this season, the 2-1 defeat by Peterborough on 15 December.
That match was also their last defeat in the Championship - a run of nine games unbeaten before this match.
And Kuszczak had to be on his toes again when Peter Whittingham fired in a shot to the near post from 25 yards, and within minutes it was Bellamy's turn to test the Brighton keeper, who got lucky when he somehow managed to deflect the Welsh international's shot onto the crossbar.
Brighton's first real sight of goal came when Ulloa forced a good save from David Marshall following a free kick by Matthew Upson.
But the best chance fell to Bellamy on the half hour when he latched on to a loose back pass but saw the ball taken off his toes by Kuszczak as he tried to round him.
City's success at home had been built on a mean defence which had conceded only nine goals all season in Cardiff.
But they were caught out just before the interval as David Lopez Moreno broke down the right hand side and former Swansea player Orlandi flicked his cross in from close range to give the visitors an unexpected interval lead.
The goal inspired the visitors who started the second half stronger, without really testing Marshall in the home goal.
And the bad news for Cardiff City was that Brighton had not lost a game all season in which they had scored first.
The Bluebirds did force the impeccable Kuszczak into action again when substitute Craig Conway - on for Noone - fired a long range shot that stung the fingers of the goalkeeper.
Cardiff's pressing was producing few clear-cut chances, but with 10 minutes left Kuszczak saved a Fraizer Campbell header.
The Bluebirds continued to press and Bellamy fired wide from eight yards when he should have hit the target, and then Aron Gunnarsson missed a golden opportunity as he headed wide from close range.
And as Cardiff pressed for the equaliser, the Seagulls broke quickly and put the game beyond doubt when Ulloa's shot was deflected past Marshall.
Cardiff boss Malky Mackay:
"In the first half we had four or five good chances to their one, and despite the goal before half-time we came out in the second half and penned them in and ended up with 22 attempts on target, which is incredible.
"I thought the goal was coming to be honest, because of the pressure we were having but, it was one of those nights where the goal led a charmed life.
"Some of our finishing was poor and there were sometimes it was not the keeper keeping it out."
Brighton first team coach Charlie Oatway:
"We were fortunate to get Tomasz Kuszczak as I think he is a Premier League player and he is one of the best keepers outside of it.
"Hopefully he keeps giving us performances like that. If you are going to achieve anything in this league - or any league - you need a good goalkeeper.
"I think Cardiff will be untouchable and they won't get caught so the boys are delighted to have won it."
- 01 Marshall
- 03 Taylor
- 05 Hudson Booked
- 06 Turner
- 12 Connolly
- 07 Whittingham
- 16 Noone (Conway - 53' )
- 17 Gunnarsson
- 14 Smith
- 27 Campbell (Helguson - 84' )
- 39 Bellamy
- 32 Lewis
- 02 McNaughton
- 08 Cowie
- 11 Conway
- 13 Kim Bo-Kyung
- 20 Mason
- 22 Helguson
Brighton & Hove Albion
- 29 Kuszczak
- 02 Bruno Booked
- 06 El-Abd Booked
- 20 Upson
- 28 Bridge
- 04 Hammond (Calderon - 75' )
- 11 Orlandi (Dicker - 70' )
- 21 David Lopez
- 26 Bridcutt Booked
- 30 Buckley (Forster-Caskey - 90' )
- 19 Ulloa
- 16 Ankergren
- 14 Calderon
- 15 Vicente
- 18 Dicker
- 25 LuaLua
- 35 Forster-Caskey
- 33 Barker
Live Text Commentary
Full Time The referee signals the end of the game.90:00 +6:43
A cross is delivered by Peter Whittingham, Tomasz Kuszczak makes a save.90:00 +5:38
David Marshall restarts play with the free kick.90:00 +5:38 Substitution
Substitution Jake Forster-Caskey comes on in place of Will Buckley.90:00 +5:38
Mark Hudson fouled by Jose Ulloa, the ref awards a free kick.90:00 +3:54
Assist by Moreno David Lopez.90:00 +3:54 Goal scored
Goal! - Jose Ulloa - Cardiff 0 - 2 Brighton A goal is scored by Jose Ulloa from inside the six-yard box to the bottom right corner of the goal. Cardiff 0-2 Brighton.90:00 +3:29
Will Buckley delivers the ball.90:00 +2:50
The ball is delivered by Andrew Taylor, Gary Dicker manages to make a clearance.90:00 +0:54
Will Buckley takes a shot. Save by David Marshall. Short corner taken by Gary Dicker from the left by-line.90:00 +0:25
David Marshall takes the direct free kick.90:00 +0:25 Booking
Booking The referee cautions Bruno Saltor for time wasting.90:00 +0:12
Unfair challenge on Ben Turner by Jose Ulloa results in a free kick.89:27
The ball is crossed by Mark Hudson, Aron Gunnarsson has an effort at goal from deep inside the area missing to the right of the goal.87:56
The ball is crossed by Craig Bellamy, Heidar Helguson has a headed effort at goal from deep inside the area missing to the right of the goal.85:01
Centre by Craig Conway, Aron Gunnarsson has a headed effort at goal from close in which goes wide right of the goal.83:39
Direct effort from the free kick comes in from Peter Whittingham.83:39 Substitution
Substitution Heidar Helguson joins the action as a substitute, replacing Fraizer Campbell.83:39
Peter Whittingham fouled by Inigo Calderon, the ref awards a free kick.82:44
A cross is delivered by Andrew Taylor, Inigo Calderon manages to make a clearance.
Unfair challenge on Will Buckley by Craig Bellamy results in a free kick. Direct free kick taken by Moreno David Lopez.80:08
Aron Gunnarsson takes a shot. Save by Tomasz Kuszczak.79:56
Centre by Craig Conway, Moreno David Lopez makes a clearance.77:57
Corner taken right-footed by Craig Bellamy, clearance by Wayne Bridge.76:26
The ball is delivered by Matthew Connolly, Shot from deep inside the area by Fraizer Campbell clears the crossbar.75:56
Fraizer Campbell fouled by Matthew Upson, the ref awards a free kick. Peter Whittingham takes the free kick.74:27 Substitution
Substitution Inigo Calderon comes on in place of Dean Hammond.74:27
Corner taken right-footed by Craig Bellamy, Close range header by Fraizer Campbell misses to the right of the target.73:27
The ball is sent over by Tommy Smith, clearance made by Gary Dicker.73:01
Short corner taken by Craig Bellamy, Craig Conway sends in a cross, Gary Dicker manages to make a clearance.72:46
A cross is delivered by Andrew Taylor, Liam Bridcutt makes a clearance.71:05
Unfair challenge on Ben Turner by Jose Ulloa results in a free kick. Free kick taken by David Marshall.69:49 Substitution
Substitution (Brighton) makes a substitution, with Gary Dicker coming on for Andrea Orlandi.67:48
Craig Conway produces a cross.66:57
Foul by Matthew Connolly on Will Buckley, free kick awarded. Free kick taken by Moreno David Lopez.63:48
Peter Whittingham decides to take the corner short.63:36
Peter Whittingham takes a shot. Wayne Bridge gets a block in.63:06
Craig Conway takes a shot. Save by Tomasz Kuszczak. Corner taken by Craig Bellamy from the left by-line played to the near post, Andrea Orlandi manages to make a clearance.62:35
Craig Bellamy crosses the ball, Bruno Saltor makes a clearance.60:41
Andrew Taylor crosses the ball.59:33
Foul by Adam El-Abd on Aron Gunnarsson, free kick awarded. Free kick crossed right-footed by Craig Bellamy from left wing, clearance made by Andrea Orlandi.58:06
Shot on goal by Aron Gunnarsson from just inside the area goes over the target.56:50
Craig Conway produces a cross, clearance made by Moreno David Lopez.54:23
Free kick awarded for a foul by Craig Conway on Liam Bridcutt. Adam El-Abd takes the free kick.52:09 Substitution
Substitution (Cardiff) makes a substitution, with Craig Conway coming on for Craig Noone.51:07
Will Buckley is flagged offside by the assistant referee. Andrew Taylor restarts play with the free kick.50:57
Fraizer Campbell produces a cross, save by Tomasz Kuszczak.50:41
Centre by Andrea Orlandi, clearance made by Mark Hudson.49:39
Free kick taken by Peter Whittingham.49:39 Booking
Booking Booking for Liam Bridcutt for unsporting behaviour.49:32
Liam Bridcutt gives away a free kick for an unfair challenge on Tommy Smith.48:54
Andrea Orlandi has an effort at goal from outside the area missing to the wide right of the goal.47:23
Free kick awarded for an unfair challenge on Jose Ulloa by Aron Gunnarsson. Liam Bridcutt takes the direct free kick.45:01
The game restarts for the second half.45:00 +2:05 Half time
Half Time The match has reached half-time.44:01
Foul by Jose Ulloa on Peter Whittingham, free kick awarded. Peter Whittingham restarts play with the free kick.42:30
The assist for the goal came from Moreno David Lopez.42:30 Goal scored
Goal! - Andrea Orlandi - Cardiff 0 - 1 Brighton Andrea Orlandi fires in a goal from close range to the bottom left corner of the goal. Cardiff 0-1 Brighton.41:03
Free kick awarded for an unfair challenge on Dean Hammond by Craig Noone. Tomasz Kuszczak takes the direct free kick.40:19
Craig Bellamy crosses the ball, Aron Gunnarsson takes a shot. Blocked by Adam El-Abd. Craig Bellamy decides to take the corner short.39:34
Unfair challenge on Fraizer Campbell by Bruno Saltor results in a free kick. Andrew Taylor takes the direct free kick.37:51
The ball is crossed by Craig Noone, Dean Hammond makes a clearance.35:21
Craig Bellamy delivers the ball, blocked by Adam El-Abd. Corner taken by Peter Whittingham from the right by-line, Adam El-Abd fouled by Mark Hudson, the ref awards a free kick. Tomasz Kuszczak takes the direct free kick.33:39
Shot from long distance by Craig Bellamy misses to the right of the target.32:09
A cross is delivered by Craig Noone, clearance by Adam El-Abd.31:22
Tommy Smith sends in a cross, Matthew Upson makes a clearance. Corner taken right-footed by Craig Bellamy from the left by-line, Will Buckley manages to make a clearance. Peter Whittingham produces a cross, Mark Hudson takes a shot. Save by Tomasz Kuszczak.30:53
Craig Bellamy takes a shot. Save made by Tomasz Kuszczak. Craig Noone decides to take the corner short.29:41
Andrea Orlandi fouled by Tommy Smith, the ref awards a free kick. Wayne Bridge restarts play with the free kick.26:56
Mark Hudson challenges Will Buckley unfairly and gives away a free kick. Free kick crossed right-footed by Moreno David Lopez from left wing.26:56 Booking
Booking Mark Hudson receives a yellow card for unsporting behaviour.25:59
Jose Ulloa challenges Matthew Connolly unfairly and gives away a free kick. Free kick taken by David Marshall.25:14
Unfair challenge on Andrea Orlandi by Matthew Connolly results in a free kick. Matthew Upson takes the direct free kick. Jose Ulloa takes a shot. Save by David Marshall.23:59
Mark Hudson gives away a free kick for an unfair challenge on Will Buckley. Free kick taken by Tomasz Kuszczak.23:29
Andrew Taylor sends in a cross, Adam El-Abd manages to make a clearance. Inswinging corner taken left-footed by Peter Whittingham, clearance made by Jose Ulloa.22:50 Booking
Booking Booking for Adam El-Abd for time wasting.21:56
A cross is delivered by Craig Noone.19:54
Craig Bellamy takes a shot. Save made by Tomasz Kuszczak. Peter Whittingham delivers a pass corner to short, Tomasz Kuszczak makes a save.19:15
Peter Whittingham takes a shot. Tomasz Kuszczak makes a save. Craig Bellamy decides to take a short corner. Centre by Craig Noone, Andrea Orlandi makes a clearance.17:31
Unfair challenge on Andrew Taylor by Will Buckley results in a free kick. Ben Turner takes the free kick.15:25
Unfair challenge on Mark Hudson by Jose Ulloa results in a free kick. David Marshall takes the direct free kick.15:06
Moreno David Lopez fouled by Peter Whittingham, the ref awards a free kick. Bruno Saltor restarts play with the free kick.14:20
Craig Bellamy takes a shot. Liam Bridcutt gets a block in.11:52
Craig Noone takes a shot. Save by Tomasz Kuszczak.10:46
Craig Noone crosses the ball, Adam El-Abd manages to make a clearance.10:14
A cross is delivered by Wayne Bridge, save made by David Marshall.9:15
Liam Bridcutt fouled by Fraizer Campbell, the ref awards a free kick. Free kick taken by Adam El-Abd.8:36
Wayne Bridge produces a cross. The referee blows for offside against Jose Ulloa. Indirect free kick taken by David Marshall.5:42
Free kick awarded for an unfair challenge on Andrea Orlandi by Mark Hudson. Direct free kick taken by Andrea Orlandi.3:41
Corner taken left-footed by Peter Whittingham to the near post, clearance by Andrea Orlandi.2:12
Free kick awarded for a foul by Adam El-Abd on Craig Bellamy. Craig Bellamy has an effort direct from the free kick, Will Buckley gets a block in.0:00
The ref blows the whistle to begin the match.
Live data and text provided by our data suppliers