Aston Villa captain Jack Grealish was attacked by a spectator in disgraceful scenes at St Andrew's – before scoring the winner to beat Birmingham.
The midfielder showed incredible character and maturity to earn a 1-0 derby win after being knocked to the ground by a man in the first half.
The spectator ran out of the home end after nine minutes and threw a punch at Grealish from behind.
He was led away by stewards and later arrested by West Midlands Police but only after being caught up in a melee of furious Villa players as Grealish was on the ground.
Grealish was uninjured but the incident cast a dark shadow over the derby and ignited fresh debate about player safety.
The Football Association will await the referees' report before taking action with the EFL condemning the violence. The man will never set foot inside St Andrew's again, Press Association Sport understands.
Grealish recovered to score a 67th minute winner and keep Villa's fading Sky Bet Championship play-off hopes alive, leaving them four points behind the top six.
Birmingham sit 11th, a point behind Villa after a second derby defeat this season.
Grealish was at the heart of the action from the start and Maikel Kieftenbeld was booked after a rash tackle on him before Jacques Maghoma shot straight at Jed Steer in a frantic opening.
Villa's skipper was then poleaxed by a supporter while in the Birmingham area having won a corner.
The 23-year-old's reaction in not retaliating deserved instant credit and he tried to shake off the shock, threading an excellent pass for Anwar El Ghazi to be denied by Lee Camp's fine save after 22 minutes.
There was little quality in a scrappy and frantic first half with St Andrew's stunned by what had happened to Grealish.
Che Adams fizzed a low drive just wide two minutes before the break but clear chances were at a premium.
Birmingham began the second half well but failed to test Steer and Villa came close to breaking the deadlock when Grealish crossed for Andre Green but his goalbound header was blocked by Wes Harding after 65 minutes.
But two minutes later Grealish silenced St Andrew's when he collected Neil Taylor's pass to shoot across Camp and find the bottom corner from 16 yards.
Adams wanted a penalty soon after and Villa's Conor Hourihane hit the bar from the edge of the box with 13 minutes left.
Craig Gardner should have rescued a point with two minutes remaining but blazed over from eight yards before heading narrowly wide in injury time.
ga('create', 'UA-72310761-1', 'auto', {'name': 'pacontentapi'});
ga('pacontentapi.set', 'referrer', location.origin);
ga('pacontentapi.set', 'dimension1', 'By Nick Mashiter, Press Association Sport');
ga('pacontentapi.set', 'dimension2', '4e9d05b9-7365-4862-ab08-c35de7b17232');
ga('pacontentapi.set', 'dimension3', 'paservice:sport,paservice:sport:club-news,paservice:sport:football,paservice:sport:match-reports');
ga('pacontentapi.set', 'dimension6', 'story');
ga('pacontentapi.set', 'dimension7', 'composite');
ga('pacontentapi.set', 'dimension8', null);
ga('pacontentapi.set', 'dimension9', 'sport:football');
ga('pacontentapi.send', 'pageview', { 'location': location.href, 'page': (location.pathname + location.search + location.hash), 'title': 'Grealish grabs winner after shocking scenes at St Andrew\u2019s'});