Swansea City moved to within a point of the Championship play-off places as they came from behind to secure a comfortable victory at Birmingham City.
Steve Cooper’s side had trailed after just five minutes when Lukas Jutkiewicz headed the hosts in front at St Andrew’s Trillion Trophy Stadium.
But they responded in fine style with a confident display and led at the break thanks to Rhian Brewster’s eighth goal of the season and Ben Cabango’s first strike for the Swans.
Jay Fulton extended their advantage early in the second half as the visitors eased to a win that moves them up to seventh in the table with four games to go.
The result saw the Swans string together back-to-back wins for the first time since December - as well as securing a first league double over Birmingham - and respond to head coach Cooper’s desire for them to back up their weekend win over Sheffield Wednesday.
And it sets them up nicely for Sunday’s meeting with Leeds United at the Liberty Stadium.
Cooper had made just the one change from the success against the Owls as Cabango came in for Wayne Routledge.
Skipper Matt Grimes made his 100th appearance, and he would mark his century with a fine captain’s display in the centre of the park.
But the contest did not start as the Swans would have wanted.
Freddie Woodman had to make two good saves during the early going, parrying Jutkiewicz’s header and then keeping out Jeremie Bela’s follow-up effort.
But it only proved a brief reprieve, as Jutkiewicz headed home after Swansea had failed to deal with the follow-up corner, with Jake Clarke-Salter able to head across goal to tee up the striker.
Swansea responded with a good spell, keeping hold of the ball and stretching the Blues defence, and Brewster headed wide from a Jake Bidwell cross after a superb raking pass from skipper Grimes.
But the striker made no mistake in the 12th minute, firing home the equaliser on the volley after Connor Roberts had met a Conor Gallagher cross.
The visitors were playing some excellent football, and threatened again with a flowing attack that ended with Bidwell’s cross being cleared.
Birmingham were barely having a kick, but still offered a set-piece threat with Gary Gardner heading over from another corner.
Grimes was marking his century with a display of real poise and authority in midfield, and he nearly marked the occasion with a goal as he fired narrowly wide from Andre Ayew’s lay-off.
Brewster had the ball in the net seconds later, lofting over Lee Camp from a slide-rule pass by Kyle Naughton, but the flag was up for offside.
The Swans dominance deserved a half-time lead, and they got it right on the stroke of the interval.
Birmingham failed to deal with a ball into the box and, when Roberts’ cross was deflected, Cabango steered in his first senior goal for the club.
Birmingham boss Pep Clotet – at one time an assistant manager in Swansea colours – made a change at the break as he sent on talented teenager Jude Bellingham for Scott Hogan, and the substitute dragged wide when given a chance to level after some sloppy defending.
Woodman then saved from Jutkiewicz, and the Swans broke up field to win a corner that would lead to their third goal of the evening.
Grimes delivered a cleverly disguised corner to the edge of the area and Fulton’s scuffed effort beat Camp to give the visitors a two-goal cushion.
The Swans nearly added to their tally again on 57 minutes, with Camp relieved to hear the sound of the referee’s whistle as Ayew pressured him into an error claiming a high ball.
Cooper’s side looked comfortable and, even though Birmingham had a better spell at the commencement of the final 20 minutes, they were well-marshalled by an organised defence.
Brewster had a chance to increase the Swans advantage late on as he pinched the ball off Marc Roberts, but he could not loft the ball over the advancing Camp.
Not that it mattered as the Swans claimed three points they so desperately needed.
Birmingham City: Lee Camp, Maxime Colin (captain), Marc Roberts, Jake Clarke-Salter, Kristian Pedersen; Dan Crowley, Gary Gardner, Ivan Sunjic, Jeremie Bela (Jayden Reid 78); Scott Hogan (Jude Bellingham 46), Lukas Jutkiewicz.
Unused Substitutes: Connal Trueman, Wes Harding, Maikel Kieftenbeld, Harlee Dean, Caolan Boyd Munce, Ryan Stirk, Nico Gordon.
Swansea City: Freddie Woodman; Kyle Naughton, Marc Guehi, Ben Cabango; Connor Roberts, Jay Fulton, Matt Grimes (captain), Jake Bidwell; Conor Gallagher, Andre Ayew; Rhian Brewster (Wayne Routledge 82)
Unused Substitutes: Erwin Mulder, Mike van der Hoorn, George Byers, Bersant Celina, Nathan Dyer, Aldo Kalulu, Yan Dhanda, Liam Cullen.
Referee: Jarred Gillett