Preston North End 1 Birmingham City 0 - Late drama at Deepdale as Sean Maguire wins it for PNE
Maguire got his head to Daniel Johnson's 94th minute corner, settling a dour encounter in which defences had both been on top.
Conditions were difficult in heavy rain and neither side were able to get any attacking rhythm to their play.
Advertisement
Hide AdAdvertisement
Hide AdBut to their credit North End kept going and just before the goal, Johnson had got clear in the box only to see his shot pushed behind by keeper Lee Camp.
It was from the resulting corner that the winner came.
Victory extended PNE's unbeaten run to 12 matches and they are now in seventh place on the same number of points as sixth-placed Aston Villa.
Alex Neil had made three changes to the side which had beaten Middlesbrough last Wednesday night.
Darnell Fisher returned from suspension at right-back, with Brad Potts returning from injury and Jayden Stockley rewarded with a start.
Advertisement
Hide AdAdvertisement
Hide AdJosh Earl dropped to the bench, with Paul Gallagher and Alan Browne missing out through injury.
It was Birmingham who showed more purpose in the opening half hour or so.
Connor Mahoney came inside off the right-wing and hit a low shot across goal and narrowly wide of the far post.
With a quarter of an hour gone, Che Adams got behind the North End defence to meet a ball over the top, his shot well blocked by Declan Rudd with his legs in a one-on-one situation.
Advertisement
Hide AdAdvertisement
Hide AdRudd was called into action again four minutes later, diving to his right to push a Jacques Maghoma's shot behind for a corner.
Neil shuffled players around as the half went on to try and find some spark, Maguire having started behind Stockley, moving to a wider position with Potts getting more of a central role.
PNE threatened properly for the first time as the half-hour approached, Andrew Hughes overlapping to meet Maguire's pass and putting over a low cross.
The ball fell to Maguire who laid it off to Stockley, the centre-forward's shot on the turn going wide of the near post.
Advertisement
Hide AdAdvertisement
Hide AdFour minutes before the interval, a free-kick from Potts struck the wall and flew behind for a corner.
Daniel Johnson's flag-kick from the left fell to Jordan Storey in the box, his shot blocked and falling to Hughes who saw a low drive blocked a couple of yards from the line.
In the 44th minute, Maghoma latched on to Adams' pass and with just Rudd to beat fired across goal and wide of the post.
Five minutes into the second half, Storey sliced a clearance across goal to present Maikel Kieftenbeld with a chance at the far post, the midfielder firing a shot into the side-netting.
Advertisement
Hide AdAdvertisement
Hide AdThe hour mark saw the arrival of Callum Robinson from the bench, the frontman having been out of action for nearly four months after surgery to repair a ruptured hamstring tendon.
Robinson replaced Potts who had earlier picked up a knock and one of his first contributions actually came in a defensive sense, deflecting a shot from Kieftenbeld post the post.
Chances were hard to come by for North End despite having plenty of the ball, their attacks getting snuffed out.
After a corner had been cleared out of the box, Ben Pearson tried his luck with a first-time shot from 25 yards which went wide.
Advertisement
Hide AdAdvertisement
Hide AdWith 11 minutes left, substitute Brandon Barker skipped down the right-wing, cut inside and pulled a low ball into the middle to pick-out Johnson.
DJ took a touch to bring it under control before getting a shot away which was blocked by the visitors' defence.
North End's winner arrived deep into stoppage-time, its origins in a fine counter-attack which saw Johnson get clear in the box, only for his shot to be taken behind by Camp.
Johnson delivered the resulting corner from the right into the box, it met by Maguire who ran in to meet it and head home.
Advertisement
Hide AdAdvertisement
Hide AdPandemonium followed as the players celebrated in front of the Alan Kelly Town End - how vital could this win turn out to be?
PNE: Rudd, Fisher, Storey, Davies, Hughes (Earl 70), Pearson, Nmecha, Potts (Robinson 60), Johnson, Maguire, Stockley (Barker 74). Subs (not used): Rafferty, Moult, Ledson, Crowe.
Birmingham: Camp, Harding, Morrison, Dean, Pedersen, G Gardner, Kieftenbeld, Maghoma, Mahoney (Jota 79), Jutiewicz, Adams. Subs: (not used) C Gardner, Vassell, Mrabti, Dacres-Cogley, Davis, Trueman.
RefereeL Scott Duncan (Northumberland)
Attendance: 17,509 (5,556 away)