Eagle-eyed linesman Carl Bassindale played his part in clinching Nicky Law's winning start at Valley Parade.
City checked their five-game losing slump with a very welcome three points sealed by Lee Sharpe's first goal since 1999 and an equally rare effort by captain for the day, Gunnar Halle..
Sharpe kept his head with a cool chipped penalty as City hit back to beat Portsmouth. Referee Paul Taylor had waved play on despite City's strong claims for a foul on Sharpe but changed his mind after spotting the yellow flag being frantically waved by his assistant.
It was just the sort of break the Bantams had been waiting for to break their dismal slide down the First Division. And they thoroughly deserved the 3-1 success against another slumping club, City's first come-from-behind win since Coventry on December 2, 2000.
Law's league debut in charge got the worst possible start when Pompey grabbed the lead inside two minutes. Defender Linvoy Primus took advantage of sloppy defending to force the ball past Sharpe on the goalline after City failed to deal with a corner.
Gareth Grant, making his first start of the season, equalised with his first senior City goal as he diverted home an Eoin Jess drive. Nigel Quashie hit the woodwork for Portsmouth but once Sharpe had taken advantage of Mr Bassindale's intervention, there was only going to be one winner.
Portsmouth sub Jason Crowe was sent off for two bookings and the visitors went down to nine men when Carl Tiler head-butted Andy Tod.
From the free-kick, Grant crossed for Halle to head home and round off a memorable performance.
Comments: Our rules
We want our comments to be a lively and valuable part of our community - a place where readers can debate and engage with the most important local issues. The ability to comment on our stories is a privilege, not a right, however, and that privilege may be withdrawn if it is abused or misused.
Please report any comments that break our rules.
Read the rules hereComments are closed on this article