Manchester City snatched a controversial 2-1 win at Wolves on Sunday as John Stones’ last-gasp goal was given after a VAR review, sparking accusations of “subconscious” bias from fuming boss Gary O’Neil.

Pep Guardiola’s side trailed to Jorgen Strand Larsen’s surprise opener for Wolves early in the first half.

Josko Gvardiol dragged City back on level terms before the interval and, with just seconds left in stoppage time, Stones headed the visitors to a dramatic sixth win in eight league games this season.

Bottom-of-the-table Wolves claimed Stones’ goal should have been disallowed for offside and interference by Bernardo Silva on goalkeeper Jose Sa.

But referee Chris Kavanagh ignored their protests after consulting the pitchside monitor.

Wolves manager O’Neil raged: “There’s no chance that people are purposely against Wolves. But is there something in the subconscious around decision-making or, without even knowing it, are you more likely to give it to Manchester City than Wolves?

“Manchester City scoring a last-minute winner is a big thing. I might be miles off, but if I had to upset someone in a street and there was a little guy and a big guy, I’m upsetting a little guy. Nothing against little guys.”

Guardiola added: “Of course I didn’t understand it. I don’t know the reason why the linesman did it, but Bernardo isn’t disturbing the position. Sa had the perfect vision. The header by John Stones were magnificent.”

City remain in second place, one point behind Liverpool after the leaders beat Chelsea 2-1 at Anfield later on Sunday.

Chasing a fifth successive English title, Guardiola’s men have set a new club record as their unbeaten run in the league reached 31 games since their loss to Aston Villa in December.

In English top-flight history, only six times has a side gone more than 30 matches without losing, most recently Liverpool’s run of 44 games from 2019 to 2020.

“We are not used to winning games at the end, like Jurgen Klopp at Liverpool it many times happened. It is a good flavour for us,” Guardiola said.

The champions were rocked after just seven minutes when Nelson Semedo’s pin-point low cross reached Strand Larsen at the far post and the striker eluded Stones for a simple close-range finish.

City nearly hit back immediately as Ilkay Gundogan’s dummy gave Silva space for a low shot from 12 yards that was pushed away by Sa.

Unusually sloppy at the back, Guardiola’s side were almost breached again when Semedo sprinted through a gaping hole in the visitors’ defence, only to be denied by Ederson’s save.

City relief

Savinho’s air-shot drew mocking cheers from Wolves fans, but Gvardiol silenced the locals in the 33rd minute.

Taking possession on the edge of the Wolves area, the Croatian defender looked up to set his sights before unleashing a superb curler that whistled into the top corner.

It was Gvardiol’s fifth goal in his last seven away league games.

Haaland had scored eight goals in his four previous league appearances against Wolves, averaging a goal once every 40 minutes.

He was far more anonymous this time and it took 49 minutes before he finally had a chance, which the 24-year-old squandered with a complete miskick from eight yards.

Faced with Wolves’ massed defence, City centre-back Ruben Dias tried his luck with a 25-yard drive that was well saved by Sa.

Matheus Cunha was close to putting Wolves back ahead against the run of play with a fizzing drive that was just off target.

Gundogan’s free-kick deflected wide and Jack Grealish’s drive was held by Sa as City kept probing away before finally snatching the winner.

Stones rose to head home from a corner, with Silva initially blocking Sa’s view and briefly making contact with the keeper before ducking down as the ball flew past him.

The goal was initially disallowed but VAR told Kavanagh to check the pitchside monitor and he overturned his decision as Guardiola and his players danced a relieved jig of delight.