Manchester City survived a nervy 16 minutes playing with 10 men to beat Wolves and maintain their five-point lead at the top of the table.
Edin Dzeko put City ahead after an error from Wayne Hennessey, who was then unable to hold David Silva's shot, with Aleksandar Kolarov slotting home.
Vincent Kompany was sent off after conceding a penalty that was converted by Stephen Hunt to give Wolves hope.
But Adam Johnson's curling shot in stoppage time clinched the points.
The win keeps City clear of second-placed Manchester United, who earlier on Saturday had beaten Everton 1-0 at Goodison Park.
If City never quite reached the heights of their 6-1 demolition of United, then Roberto Mancini's side should still have had this game safe long before Johnson restored their two-goal advantage.
Given City had scored 11 goals in their previous two games - including five against Wolves in their midweek Carling Cup meeting - the visitors could have been forgiven for approaching Saturday's game with trepidation.
In fact, there was no suggestion of that, although Wolves deployed men behind the ball to stifle the league leaders in a first-half that proved very frustrating for City. Man City 3-1 Wolves
- Wolves have conceded at least two goals in each of their last seven Premier League games
- Vincent Kompany is the first Manchester City player to be sent off since Pablo Zabaleta at Arsenal in January
That Wolves reached half-time on level terms had much to do with the ultimately luckless Hennessey, who was in action in the opening minute to tip away Samir Nasri's shot following a City corner.
That was one of three superb saves Hennessey made in the opening 45 minutes, the best of which was from Dzeko, who had been released by a slick interchange involving Silva and Sergio Aguero.
At times Hennessey rode his luck - notably when he was unable to hold a Dzeko cross - while the Wolves keeper was also helped by some off-key City finishing, notably when Aguero put the ball wide after he had been set up by Micah Richards.
However all Hennessey's good work went to waste on 52 minutes when he dawdled on the ball.
Aguero was quick to block Hennessey's attempted clearance and the ball bounced kindly to Dzeko, who had the simplest of tasks to put City ahead.
Midway through the second half Wolves found themselves 2-0 behind after Hennessey was unable to hold a Silva shot and the ball fell to the Serb Kolarov who volleyed home.
That should have been that, but Hart caught a dose of the Hennessey wobbles and spilled Adlene Guedioura's long-range shot.
Kevin Doyle reacted more quickly than Kompany and the Belgian defender hauled down the Wolves striker to concede a penalty and earn himself a red card.
Hunt sent Hart the wrong way with his spot-kick, but Wolves were never really to threaten the City keeper again despite their numerical superiority.
And in the first minute of stoppage time, Johnson's beautifully judged curling shot ensured City's deserved victory.
Manchester City manager Roberto Mancini: "It is impossible to always score four or five goals.
"I don't know how many chances we had in the first half, but their goalkeeper saved everything. But in the second half I think we played very well.
"After the Manchester United win I don't want us to think that every game will be easy. This does not exist in football, in every game you must give 100% because in any moment the game can change. After the sending-off it was very difficult."
Wolves manager Mick McCarthy: "We played well. We had to defend in the first-half and Wayne Hennessey made a couple of magnificent saves.
"You can imagine how he feels. He is as good as any goalkeeper in this league and it is such a shame it has cost us.
"I'm disappointed we haven't got anything and we let them off the hook. It was set up for us to get something."
Sorry, we were unable to load match stats, please try again.