Luke Steele saved a late penalty as Barnsley moved out of the relegation zone while Brighton's play-off hopes suffered another blow at Oakwell.
Barnsley, who started the night bottom, were ahead in the 16th minute thanks to striker Jason Scotland.
Leonardo Ulloa headed the Seagulls level on the hour but Chris Dagnall restored Barnsley's lead from the spot.
Barnsley became the first team to play 3,000 games in second level league football
Striker Ulloa had a chance to equalise for the second time in the 83rd minute but Steele kept out his penalty.
Barnsley are now two points above the bottom three with a game in hand while Brighton missed the opportunity to reclaim the final play-off position.
David Flitcroft's side quickly shrugged off their FA Cup drubbing to Manchester City at the weekend, when Scotland held off Adam El-Abd's challenge to fire Barnsley into an early lead.
Jacob Mellis almost doubled their advantage with a powerful free-kick that was deflected wide.
Brighton improved in the second half and were level when Inigo Calderon's cross picked out an unmarked Ulloa to head past Steele.
Barnsley restored their lead in the 65th minute when El-Abd pulled back Dagnall in the box before the striker tucked away the penalty.
The visitors went close to an equaliser when Kazenga LuaLua was denied by Steele while Liam Bridcutt blazed over from close range.
But Ullua wasted the best chance from the spot after David Perkins fouled Calderon - Steele palming away the Argentine's shot.
Barnsley manager David Flitcroft:
"I am very proud, we have set a team up to battle and they have done that in the first half.
"I have got massive respect for Brighton in terms of the football they play. I am a massive Brighton fan in terms of that. We got schooled down there earlier in the season and that was one of the worst trips I have had.
"But I am delighted because the game plan we set out has worked. We didn't let them play with any freedom or fluidity and I don't think any of their players would have enjoyed playing here."
Brighton manager Gus Poyet:
"We knew we would have to fight and compete and I got the feeling that we gave the game away with the goals that we gave away, but that is how it has been for a while so I am not surprised.
"Unfortunately I am getting used to this, we have played three games away from home in a week. The first game was terrible, then we were by far the better team at Bolton and lost 1-0 and today if anyone said Barnsley deserved to win then I should retire.
"The good thing is the only people to blame is ourselves. It's not the opposition, the pitch, the referee or the weather. We have another nine games and we'll see. We'll try our best."
Full Time The referee signals the end of the game.
The ball is delivered by Andrea Orlandi, Headed effort on goal by George Barker from inside the penalty box misses to the right of the goal.
Tomasz Cywka concedes a free kick for a foul on Andrew Crofts. Direct free kick taken by Tomasz Kuszczak.
Jose Ulloa gives away a free kick for an unfair challenge on Jacob Mellis. Bobby Hassell takes the free kick.
Andrea Orlandi concedes a free kick for a foul on Chris O'Grady. Jacob Mellis takes the direct free kick.
Chris O'Grady fouled by Matthew Upson, the ref awards a free kick. Jacob Mellis restarts play with the free kick.
Corner taken short by Chris O'Grady.
Short corner worked by Jacob Mellis.
Unfair challenge on Chris O'Grady by Matthew Upson results in a free kick. Jacob Mellis crosses the ball, Chris Dagnall takes a shot. Tomasz Kuszczak makes a comfortable save.
Liam Bridcutt challenges Scott Wiseman unfairly and gives away a free kick. Luke Steele restarts play with the free kick.
Penalty taken by Jose Ulloa is saved by Luke Steele. Barnsley 2-1 Brighton.
David Perkins gives away a Penalty for an unfair challenge on Inigo Calderon.
Substitution Rory Delap leaves the field to be replaced by Bobby Hassell.
Substitution George Barker is brought on as a substitute for Dean Hammond.
Kazenga LuaLua has a shot on goal from outside the box which misses right.
Kazenga LuaLua fouled by Rory Delap, the ref awards a free kick. Free kick taken by Andrea Orlandi.
Free kick awarded for an unfair challenge on Dean Hammond by Kelvin Etuhu. Liam Bridcutt restarts play with the free kick. The referee blows for offside. Luke Steele takes the indirect free kick.
Direct free kick taken by Andrea Orlandi.
Substitution Tomasz Cywka on for Jim O'Brien.
David Perkins concedes a free kick for a foul on Andrea Orlandi.
Chris O'Grady concedes a free kick for a foul on Adam El-Abd. Direct free kick taken by Adam El-Abd.
Free kick taken by Luke Steele.
Booking The referee shows Jim O'Brien a yellow card.
Jose Ulloa concedes a free kick for a foul on Martin Cranie.
A cross is delivered by Kazenga LuaLua, Liam Bridcutt produces a left-footed shot from inside the area that clears the crossbar.
Effort on goal by Kazenga LuaLua from 20 yards. Luke Steele makes a brilliant save.
Andrea Orlandi crosses the ball from the free kick left-footed from left wing. The assistant referee flags for offside against Matthew Upson. Luke Steele restarts play with the free kick.
Booking Rory Delap booked.
Free kick awarded for a foul by Rory Delap on Kazenga LuaLua.
Will Buckley fouled by Martin Cranie, the ref awards a free kick. Liam Bridcutt takes the direct free kick.
Assist on the goal came from Chris O'Grady.
63:11 Goal scored
Goal! - Chris Dagnall - Barnsley 2 - 1 Brighton Penalty taken right-footed by Chris Dagnall and scored. Barnsley 2-1 Brighton.
Booking Adam El-Abd shown a yellow card.
Adam El-Abd concedes a Penalty for a foul on Chris O'Grady.
Substitution (Brighton) makes a substitution, with Andrew Crofts coming on for Bruno Saltor.
The assist for the goal came from Inigo Calderon.
58:20 Goal scored
Goal! - Jose Ulloa - Barnsley 1 - 1 Brighton Jose Ulloa finds the net with a headed goal from inside the penalty area. Barnsley 1-1 Brighton.
Direct free kick taken by Adam El-Abd.
Substitution Jason Scotland goes off and Chris Dagnall comes on.
Free kick awarded for an unfair challenge on Kazenga LuaLua by Kelvin Etuhu.
Substitution Kazenga LuaLua joins the action as a substitute, replacing Moreno David Lopez.
Andrea Orlandi decides to take a short corner.
Outswinging corner taken left-footed by Andrea Orlandi, save made by Luke Steele.
Andrea Orlandi takes a shot. Save by Luke Steele.
Corner taken short by Moreno David Lopez.
Moreno David Lopez takes a shot. Save by Luke Steele.
The ball is crossed by Jim O'Brien, Chris O'Grady produces a header from inside the area that goes over the crossbar.
David Perkins takes a shot. Save made by Tomasz Kuszczak.
The official flags Jose Ulloa offside. Free kick taken by Luke Steele.
Corner taken short by Andrea Orlandi.
Andrea Orlandi decides to take a short corner.
Will Buckley challenges David Perkins unfairly and gives away a free kick. Rory Delap takes the direct free kick.
The referee blows for offside. Free kick taken by Luke Steele.
The referee starts the second half.
45:00 +1:10 Half time
Half Time The ref blows to signal half-time.
Inswinging corner taken right-footed by Jacob Mellis from the left by-line to the near post, clearance by Jose Ulloa.
Free kick awarded for a foul by Liam Bridcutt on Jacob Mellis. Direct strike on goal from the free kick comes in from Jacob Mellis, blocked by Adam El-Abd.
Free kick awarded for a foul by Kelvin Etuhu on Inigo Calderon. Free kick taken by Tomasz Kuszczak.
Free kick awarded for an unfair challenge on Martin Cranie by Jose Ulloa. Free kick taken by David Perkins.
Dean Hammond fouled by Chris O'Grady, the ref awards a free kick. Bruno Saltor takes the direct free kick.
Jose Ulloa is flagged offside by the assistant referee. Free kick taken by Martin Cranie.
Unfair challenge on Will Buckley by Rory Delap results in a free kick. Liam Bridcutt takes the free kick.
Jose Ulloa challenges David Perkins unfairly and gives away a free kick. Scott Wiseman takes the free kick.
Foul by Kelvin Etuhu on Will Buckley, free kick awarded. Free kick taken by Matthew Upson.
Booking The referee shows David Perkins a yellow card for unsporting behaviour.
Effort from deep inside the area by Will Buckley misses to the left of the goal.
The ball is sent over by Rory Delap, Jason Scotland takes a shot. Save by Tomasz Kuszczak.
Free kick awarded for an unfair challenge on David Perkins by Matthew Upson. Luke Steele restarts play with the free kick.
Foul by Rory Delap on Will Buckley, free kick awarded. Andrea Orlandi delivers the ball from the free kick left-footed from left wing, Martin Cranie makes a clearance.
Jacob Mellis takes a long range shot clearing the bar.
Free kick awarded for an unfair challenge on Inigo Calderon by Jim O'Brien. Inigo Calderon takes the direct free kick. Foul by Bruno Saltor on Jason Scotland, free kick awarded. Direct free kick taken by Tom Kennedy.
Kelvin Etuhu takes a long range shot clearing the crossbar.
Free kick awarded for an unfair challenge on David Perkins by Moreno David Lopez. Tom Kennedy takes the free kick.
Chris O'Grady provided the assist for the goal.
14:33 Goal scored
Goal! - Jason Scotland - Barnsley 1 - 0 Brighton Goal scored by Jason Scotland from inside the penalty box to the bottom left corner of the goal. Barnsley 1-0 Brighton.
Dean Hammond gives away a free kick for an unfair challenge on David Perkins. Luke Steele takes the direct free kick.
Chris O'Grady fouled by Dean Hammond, the ref awards a free kick. The free kick is swung in left-footed by Tom Kennedy, clearance made by Jose Ulloa.
Will Buckley is penalised for a handball. Free kick taken by Tom Kennedy.
Foul by Martin Cranie on Jose Ulloa, free kick awarded. Liam Bridcutt takes the direct free kick.
Jason Scotland produces a left-footed shot from outside the penalty box and misses wide left of the target.
Will Buckley produces a right-footed shot from just outside the box that misses to the right of the net.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.