Barnsley 1 Birmingham City 0
All 22 players and substitutes got involved and managers Steve Bruce and Simon Davey were forced to go on to the pitch to restore order.
The referee let the players square-up to each other before finally showing straight red cards to Barnsley's Bobby Hassell and Birmingham's substitute Neil Danns.
The Tykes had started brightly and could well have taken the lead after just 25 seconds when Daniel Nardiello produced a fierce volley that was a little too straight and Birmingham keeper Colin Doyle managed to push the ball away to safety.
Birmingham responded through Cameron Jerome but he stabbed his shot wide after a good run inside the box by Dudley Campbell.
Barnsley were dealt a blow when left-back Adam Eckersley, on-loan from Manchester United, limped off with a groin problem, but the home side should have taken the lead in first-half stoppage time when a terrific cross from Nardiello picked out winger Martin Devaney.
However, his diving header, inside the six-yard box was brilliantly blocked by Doyle.
But Barnsley got their noses in front in the 52nd minute thanks to an expert piece of finishing from Nardiello.
The striker, whose father was celebrating his 50th birthday, made it a double celebration when he cut in from the left and, from a tight angle, curled in a wonderful right-foot shot which went in via the far post.
Birmingham boss Bruce urged his side forward and his side had loud appeals for a penalty waved away by the referee in the 55th minute, when Campbell went down under the challenge of Lewin Nyatanga.
The heat was rising and Birmingham substitute Nicklas Bendtner struck the post when Barnsley keeper Nick Colgan failed to collect an inswinging corner.
The chances kept coming and only a brilliant block by Hassell kept out Campbell's goal-bound drive while Devaney got away with what looked like handball at the near post.
But somehow Barnsley held on and it was Birmingham's frustrations that finally boiled over on the final whistle and led to unsavoury scenes as the two sides squared-up.