Birmingham City managed to snatch a valuable point in their home Championship clash with Bristol City thanks to a last‑minute spot‑kick from Demarai Gray. The match, which ended in a 2-2 draw, was a roller‑coaster of goals, chances and contentious decisions, and it ultimately hinged on Gray's calm finish from the penalty spot in the fifth minute of added time. The drama began early in the second half when Bristol City’s substitute Dom Ballard found the net in spectacular fashion.

After receiving a cross from Rio Cardines, Ballard turned his back to goal and flicked the ball over the on‑rushing Birmingham defence, sending it looping into the net and giving the Robins a 2-1 lead with just 15 minutes left on the clock. Birmingham had taken the initiative earlier in the game. In the 33rd minute, visiting midfielder Scott Twine broke the deadlock for Bristol City, heading the ball home from eight yards after a clever one‑two with teammate Jason Knight. The goal marked the first time the Blues had allowed a goal in the season, and it set the tone for a tightly contested encounter.

Only nine minutes later, Birmingham equalised. Carlos Vicente, who had been a constant threat in the box, slotted a first‑time side‑footed finish from 12 yards out.

The ball slipped into the corner of the net despite the best efforts of Bristol City keeper Sam Tickle, who had been forced into a series of saves after a well‑delivered cross from Alex Cochrane. From that point on, both sides created a flurry of opportunities.

Birmingham right‑back Bright Osayi‑Samuel unleashed a curling left‑footed strike that rattled the post, while Bristol City’s attacking midfielder Twine fired a low, angled drive that drifted just wide of the far post. The visitors also had a couple of half‑chances: Rob Dickie, after falling backwards, glanced a header over the bar from a Cardines free‑kick, and Lorent Tolaj headed a Jason Knight cross over from four yards out.

The match continued to swing back and forth. Tomoki Iwata, a recent signing for Birmingham, produced a powerful volley that flew over the bar, while Bristol City’s Joe Williams missed a golden opportunity, side‑footing a chance from a superb opening.

In the 54th minute, Twine forced Birmingham goalkeeper James Beadle into his first serious save of the game, smothering a low, angled drive that threatened to restore Bristol City’s lead. Bristol City continued to press, and Tolaj, after a brief spell on the bench, found himself at the far post only to head wide from two yards out. Meanwhile, summer acquisition Jed Wallace saw his powerful piledriver on the break palmed away by Beadle in an acrobatic effort. Substitute Tomi Horvat, unmarked, forced Beadle into a one‑handed save after a toe‑poked effort from a Lisav Eissat pass, demonstrating the relentless attacking intent of the visitors.

Ballard’s earlier goal was a moment of brilliance, but he added another twist to the story when he scored with a bizarre flick, his back to goal, looping the ball over Beadle to make it 2-2. Birmingham, however, were not finished. In the 88th minute, Jhon Solis appeared to have headed home a corner from Cochrane, but the goal was disallowed for off‑side involvement with the goalkeeper, a decision that left Birmingham defender Chris Davies fuming. "I was furious and in disbelief to have that goal disallowed," Davies said.

"I just don't see it and I don't think they even appealed for it. It was a poor decision in that context and would have been very painful to take." Shortly after, Sam Greenwood came off the bench and unleashed a thunderous strike that was palmed away by the Bristol City keeper, keeping the tension high.

The final drama unfolded when a handball in the Birmingham box was spotted by the linesman. Gray stepped up and coolly slotted the penalty, sealing a dramatic 2-2 finish for the home side.

"For the penalty, we forced an error, a handball in a melee in the box. I think it was a penalty we deserved and we got a goal from it, so it was a pretty eventful end," Gray explained.

Bristol City manager Michael Skubala was equally vocal about the controversial decision. He argued that the handball call was erroneous, noting that the linesman had flagged for a handball by Jason Knight while Rob Atkinson was the player who actually headed the ball.

"It was a crazy decision which didn't need to happen. The referee has two angles – his and the linesman's – and the decision was not the right one," Skubala said. He added that his side had created the bigger chances and should have walked away with three points.

"We opened their back line up at times and looked the most threatening team," he concluded. Overall, the match showcased the competitive spirit of both clubs, with Birmingham fighting back from a deficit and Bristol City displaying resilience despite the disappointment of the penalty decision. Both managers highlighted the fine margins that decide games in the Championship, and the fans were treated to a thrilling encounter that will be remembered for its late drama and the debate it sparked over officiating.