Nathan Redmond's stunning late finish sealed victory for Birmingham as they broke Portsmouth's resistance and moved up to third in the Championship.
Portsmouth had the best chance of an even first half as Joel Ward was denied at close range by Birmingham goalkeeper Boaz Myhill.
Birmingham applied pressure in the second period with Jordon Mutch's 25-yard strike hitting a post.
Redmond's swivelled volley then sealed victory in the 86th minute.
DID YOU KNOW?
- This was Birmingham's 41st match of a busy campaign, in which they have played 11 more fixtures than Portsmouth.
The highly-rated 17-year-old substitute was brought on to bring much-needed life to City's attacking play on the hour-mark.
And his winner hauled Birmingham to within two points of second-placed Southampton, with leaders West Ham six points ahead.
It was Hughton's side who started with the greater purpose, Marlon King's pull-back just failing to find a blue shirt before Keith Fahey tested Stephen Henderson from distance.
Marko Futacs wasted a great chance to test Myhill when he blazed over from 12 yards out from Kelvin Etuhu's low cross. And Myhill was again impressive in the 40th minute, keeping out Ward's 10-yard shot.
City started the second with renewed vigour, but they were still struggling to find a way through.
Two good chances came on the 70-minute mark as Adam Rooney's close-range effort was smothered by Henderson, then Curtis Davies flicked the ball narrowly wide from six yards.
Mutch then struck the woodwork with a low strike from distance, before Birmingham turned the screw and Redmond clinched victory.
Birmingham manager Chris Hughton:
"Nathan Redmond is a wonderful player.
"He's a real talent, we genuinely don't like to get too carried away about players because we've seen it before when you get a player who doesn't get to the levels you think he is going to.
"At the moment I think we've managed him quite well."
Portsmouth boss Michael Appleton:
"I'm hoping for news [about investment] over the next couple of days because the longer it goes on, obviously, the more difficult it's going to be to keep morale up and keep the players in a positive frame of mind.
"They're a decent bunch of lads, who've had to take a lot of hits over the last couple of months or so with everything that's going on, especially in the last week not being paid.
"I can't really any ask for any more effort.
"I tried to remind them before the game this evening of why we all started playing football in the first place, it's because we love the game and we enjoy it."
- 01 Myhill
- 03 Murphy
- 04 Caldwell
- 23 Spector
- 24 Davies
- 07 Burke
- 08 N'daw (Elliott - 13' )
- 12 Mutch
- 18 Fahey
- 09 King (Redmond - 62' )
- 17 Rooney
- 13 Doyle
- 05 Pablo
- 14 Gomis
- 15 Elliott
- 22 Redmond
- 13 Henderson
- 02 Ward
- 03 Rocha
- 05 Pearce
- 15 Halford
- 26 Ben-Haim
- 07 Lawrence
- 08 Mullins
- 10 Huseklepp
- 09 Futacs (Mwaruwari - 75' Booked )
- 14 Etuhu (Kitson - 90' )
- 01 Ashdown
- 31 Webster
- 04 Mokoena
- 18 Kitson
- 25 Mwaruwari
Live Text Commentary
Full Time The referee blows for the end of the match.90:00 +4:09
The ball is swung over by Dave Kitson, comfortable save by Boaz Myhill.90:00 +3:18
Shot on goal by Chris Burke from just inside the area goes over the target.90:00 +2:04
Corner from right by-line taken by Liam Lawrence.90:00 +1:18
Free kick awarded for a foul by Steven Caldwell on Dave Kitson. Free kick crossed by Liam Lawrence.90:00 +1:11
The ball is swung over by Adam Rooney, Ricardo Rocha makes a clearance.89:14 Substitution
Substitution Dave Kitson is brought on as a substitute for Kelvin Etuhu.89:14
The assistant referee flags for offside against Benjani Mwaruwari. Indirect free kick taken by Boaz Myhill.86:44
David Murphy gives away a free kick for an unfair challenge on Kelvin Etuhu. Indirect free kick taken by Tal Ben-Haim.85:18
Assist by Curtis Davies.85:18 Goal scored
Goal! - Nathan Redmond - Birmingham 1 - 0 Portsmouth Nathan Redmond gets on the score sheet with a goal from deep inside the penalty box to the bottom left corner of the goal. Birmingham 1-0 Portsmouth.84:58
Jordon Mutch takes a short corner.82:25
Boaz Myhill restarts play with the free kick.82:25 Booking
Booking The referee cautions Benjani Mwaruwari for unsporting behaviour.82:22
Benjani Mwaruwari is penalised for a handball.81:29
Shot from just outside the area by Chris Burke goes over the bar.81:00
Tal Ben-Haim challenges Jordon Mutch unfairly and gives away a free kick. Jordon Mutch crosses the ball from the free kick right-footed from left wing, Ricardo Rocha makes a clearance.80:37
Free kick awarded for a foul by Benjani Mwaruwari on Steven Caldwell. Indirect free kick taken by Boaz Myhill.80:00
Wade Elliott delivers the ball, save by Stephen Henderson.79:04
Free kick awarded for a foul by Adam Rooney on Hayden Mullins. Direct free kick taken by Tal Ben-Haim.
Jordon Mutch produces a right-footed shot from outside the area and strikes the post.77:31
Greg Halford has an effort at goal from outside the area missing to the wide right of the goal.76:38
The ball is swung over by Jonathan Spector, save made by Stephen Henderson.75:55
Handball decision goes against Wade Elliott. Free kick taken by Stephen Henderson.74:14 Substitution
Substitution Benjani Mwaruwari on for Marko Futacs.74:14
Effort from long distance by Wade Elliott goes wide right of the target.73:58
Joel Ward takes a shot. Jonathan Spector gets a block in.73:16
Free kick awarded for a foul by Steven Caldwell on Marko Futacs. The free kick is swung in right-footed by Liam Lawrence, Curtis Davies manages to make a clearance.72:39
Keith Fahey takes a shot. Save by Stephen Henderson.72:23
Foul by Joel Ward on Keith Fahey, free kick awarded. Indirect free kick taken by Nathan Redmond.71:12
Close range shot by Curtis Davies goes wide of the left-hand post.70:39
Adam Rooney takes a shot. Save by Stephen Henderson. Corner from left by-line taken by Jordon Mutch.69:16
Corner from the left by-line taken by Jordon Mutch, save by Stephen Henderson.69:02
Wade Elliott crosses the ball, clearance by Ricardo Rocha.68:42
The ball is delivered by Chris Burke, clearance made by Kelvin Etuhu.67:49
Centre by Chris Burke, clearance by Jason Pearce.66:30
Keith Fahey gives away a free kick for an unfair challenge on Greg Halford. Stephen Henderson takes the indirect free kick.66:00
The referee blows for offside. Free kick taken by Steven Caldwell.65:09
Chris Burke produces a cross.63:26
The ball is swung over by Nathan Redmond.60:58
Stephen Henderson restarts play with the free kick.60:58 Substitution
Substitution Nathan Redmond joins the action as a substitute, replacing Marlon King.60:58
The ball is sent over by Chris Burke, Unfair challenge on Hayden Mullins by Jonathan Spector results in a free kick.57:56
The official flags Kelvin Etuhu offside. Free kick taken by Boaz Myhill.56:56
The ball is crossed by Wade Elliott, save by Stephen Henderson.56:09
Corner from the right by-line taken by Jordon Mutch, Hayden Mullins makes a clearance.55:23
Chris Burke crosses the ball, Tal Ben-Haim makes a clearance.54:08
Chris Burke sends in a cross, save by Stephen Henderson.53:29
The ball is delivered by Keith Fahey, clearance by Ricardo Rocha.50:22
Foul by Adam Rooney on Liam Lawrence, free kick awarded. The ball is swung over by Liam Lawrence, Jason Pearce has a header from inside the six-yard box and clears the crossbar.49:51
Keith Fahey takes a shot from 35 yards. Liam Lawrence gets a block in.49:43
The ball is sent over by Jordon Mutch, clearance made by Ricardo Rocha.49:09
Outswinging corner taken right-footed by Jordon Mutch from the right by-line to the near post, clearance made by Hayden Mullins.49:05
David Murphy crosses the ball, clearance by Jason Pearce.47:21
The ball is sent over by Tal Ben-Haim.45:31
The ball is delivered by David Murphy, clearance by Greg Halford. Corner taken right-footed by Jordon Mutch, Kelvin Etuhu manages to make a clearance.45:01
The game restarts for the second half.45:00 +2:13 Half time
Half Time The referee blows for half time.45:00 +2:05
Wade Elliott delivers the ball, clearance by Greg Halford.45:00 +1:20
A cross is delivered by Chris Burke, save by Stephen Henderson.44:32
The ball is crossed by Greg Halford, Hayden Mullins has an effort at goal from outside the box which goes wide right of the target.41:49
Joel Ward takes a shot. Blocked by Steven Caldwell.41:30
David Murphy crosses the ball, Ricardo Rocha makes a clearance.39:59
Joel Ward takes a shot. Save by Boaz Myhill.39:28
Liam Lawrence takes a shot. Blocked by Jonathan Spector.37:23
Unfair challenge on Ricardo Rocha by Adam Rooney results in a free kick. Indirect free kick taken by Stephen Henderson.36:06
Jordon Mutch has a shot and went wide left of the goal.33:33
Jordon Mutch challenges Erik Huseklepp unfairly and gives away a free kick. Jason Pearce takes the direct free kick. The assistant referee flags for offside against Marko Futacs. Indirect free kick taken by Boaz Myhill.32:13
Jason Pearce gives away a free kick for an unfair challenge on Adam Rooney. Jordon Mutch has a direct shot on goal from the free kick.32:00
A cross is delivered by Chris Burke, clearance by Jason Pearce.29:44
Kelvin Etuhu produces a right-footed shot from long range that goes harmlessly over the bar.27:58
Keith Fahey has an effort at goal from long range that misses to the right of the target.27:06
Jason Pearce fouled by Marlon King, the ref awards a free kick. Stephen Henderson takes the indirect free kick. Jonathan Spector fouled by Erik Huseklepp, the ref awards a free kick. Indirect free kick taken by Boaz Myhill.25:49
The ball is crossed by Greg Halford, clearance by David Murphy.24:30
Erik Huseklepp is caught offside. Free kick taken by Boaz Myhill.24:09
Steven Caldwell fouled by Marko Futacs, the ref awards a free kick. Steven Caldwell restarts play with the free kick.23:26
Wade Elliott produces a cross, clearance by Ricardo Rocha.22:53
Wade Elliott takes a shot. Kelvin Etuhu gets a block in.21:13
The ball is crossed by Jonathan Spector, Stephen Henderson makes a save.18:29
Free kick awarded for a foul by Steven Caldwell on Marko Futacs. Liam Lawrence restarts play with the free kick.17:23
Marlon King is caught offside. Stephen Henderson takes the free kick.15:29
Effort from the edge of the area by Jonathan Spector goes wide of the right-hand upright.12:08 Substitution
Substitution Wade Elliott is brought on as a substitute for Guirane N'Daw.10:13
Hayden Mullins produces a right-footed shot from inside the area that goes over the bar.8:43
Hayden Mullins has an effort at goal from outside the area missing to the wide left of the goal.6:49
Keith Fahey takes a shot. Stephen Henderson makes a save.6:13
Unfair challenge on Chris Burke by Hayden Mullins results in a free kick. The free kick is delivered right-footed by Jordon Mutch from right channel, clearance made by Jason Pearce.3:09
Jordon Mutch is penalised for handball and concedes a free kick. Free kick taken by Tal Ben-Haim.2:06
Jordon Mutch crosses the ball, clearance made by Ricardo Rocha.1:29
Inswinging corner taken by Jordon Mutch from the left by-line played to the near post, Marko Futacs manages to make a clearance.0:47
Marlon King is flagged offside by the assistant referee. Indirect free kick taken by Stephen Henderson.0:00
The ref blows the whistle to begin the match.
Live data and text provided by our data suppliers