Roman Bednar scored an injury-time goal to give West Bromwich Albion fresh hope of completing a second Great Escape – even though he should not have been on the field.

The Czech striker was due to be substituted in the 84th minute, only for Jonathan Greening to be forced off with blurred vision as Albion lined up the change.

Bednar stayed and went on to score in the second minute of injury time when he latched on to a long Gianni Zuiverloon cross to ensure the Baggies’ first victory since early October after a fortunate Felipe Caicedo goal had equalised Luke Moore’s opener.

Moore grabbed his first in Albion colours after finishing off a brilliant counter-attack in the 69th minute.

Caicedo levelled six minutes from time when his backheel inside a crowded penalty area took a deflection off Chris Brunt’s ankle and slipped past Scott Carson.

Albion fans were bemoaning their luck, having seen a legitimate Craig Beattie goal ruled out by referee Chris Hoy, but finished the afternoon toasting their fourth win of the campaign which puts them within four points of safety.

Mowbray made two changes, bringing in Do-heon Kim and Bednar for Chris Brunt and Borja Valero, who was left out, having not trained all week due to illness. More significantly it was a change of formation for Albion, with Mowbray opting for three midfielders occupying deeper roles, with Jon Greening pushing on to support Bednar and Luke Moore. On the bench, Filipe Teixeira was forced to pull out just after picking up an injury during the pre-match warm-up.

There was plenty of tempo early on, with James Morrison in particular standing out. It was Bednar who had Albion’s first attempt on goal after 14 minutes. The Czech international beat off Zabaleta on the right flank but his long-range shot lacked pace.

The Baggies almost capitalised on some poor City defending two minutes later. Greening won the ball on the edge of the visitors’ area, playing in Bednar. His first touch let him down but allowed Morrison to race in. As the Albion midfielder teed up a cross, Fernandes slid in to clear the ball.

Bednar went even closer four minutes later when he exchanged a one-two with Paul Robinson as Albion countered. Bednar powered past Zabaleta and hit a low shot which struck the base of the post, touched the back of Hart’s head and rolled across the face of goal.

Robinson was booked in the 52nd minute for a lunge on Wright-Phillips – a fifth yellow-card, which will rule him out of Sunday’s game against Tottenham Hotspur.

Graham Dorrans, a cut-price summer signing from Livingston, was handed his Premier League debut when he replaced Kim on 64 minutes.

The Albion substitute was involved in the 69th-minute goal. Moore started the move by chesting the ball down to Dorrans inside the centre-circle, who switched the ball to Morrison. He played in Moore, who broke free of City’s defence to slot the ball past Hart.

Moore almost provided a second just two minutes later. He stroked a delicate pass in for Morrison, who raced into the area and crossed for Bednar, only for Michael Ball to clear the danger. Mowbray’s decision to replace Moore just two minutes later was a little surprising, but perhaps sensible given Albion’s festive schedule.

The home fans thought they were 2-0 up about 16 minutes from the end. Robinson’s left-wing cross was heading for Bednar, only for Hart to clatter into the Albion striker. Beattie slotted home the loose ball but Chris Foy blew for a foul, deeming Bednar to have fouled Hart.

Not all substitutions have the desired effect as Albion found to their cost in the 84th minute. Chris Brunt replaced the injured Greening and his first touch of the ball was to deflect Caicedo’s back-heel past Carson as Albion failed to deal with a long throw-in.

But it was to be Albion’s day after all. Zuiverloon’s long ball looked innocuous enough but Bednar raced behind Dunne and got the back of his head to the ball to send it past Hart.

Scorers: Moore (69) 1-0, Caicedo (86) 1-1, Bednar (90) 2-1.

WEST BROMWICH ALBION (4-3-1-2): Carson, Zuiverloon, Olsson, Meite, Robinson, Morrison, Koren, Kim (Dorrans, 64), Greening (Brunt, 84), Bednar, Moore (Beattie, 74). Substitutes: Hoefkens, Barnett, Pele, Kiely.

MANCHESTER CITY (4-4-2): Hart, Zabaleta, Richards, Dunne, Ball, Wright-Phillips, Ireland, Kompany, Fernandes, Benjani (Caicedo, 59), Vassell. Substitutes: Onuoha, Garrido, Clayton, Hamann, Evans, Schmeichel.

Referee: Chris Foy (Merseyside).

Bookings: Albion – Robinson (foul), Bednar (unsportsmanlike conduct); City – Dunne (foul).

Attendance: 25,010

Albion man of the match: Roman Bednar – timely intervention.