Sterling kept his cool to roll his 66th-minute spot-kick past Jose Sa after a lengthy VAR check ruled Joao Moutinho had illegally blocked Bernardo Silva’s cross, even though it seemed to hit the Wolves midfielder on his armpit.
The decision compounded Wolves’ frustrations given they were annoyed at Raul Jimenez’s dismissal for two yellow-card offences within seconds of each other near the end of the opening period.
Not that the visitors could have any complaints on the balance of play. City had 24 shots compared to Wolves’ three. Sa made three excellent saves, Conor Coady headed an Ilkay Gundogan effort off the line, Max Kilman blocked a goalbound Phil Foden effort and Jack Grealish somehow failed to convert Sterling’s far-post cross with the goal at his mercy.
Kilman brought a save out of Ederson at the end but Wolves have failed to score in their past four games and managed just one goal in their past six.
In contrast, City have now six Premier League games in a row to maintain their place at the top of the table and keep the pressure on title rivals Liverpool and Chelsea.
As the first half drew to a close the atmosphere had been growing increasingly edgy amid allegations from City fans of Wolves’ time-wasting, and play-acting in the case of Roman Saiss, who went down in his own area after getting an unseen, accidental finger in the eye from Sterling.
Yellow cards for Ruben Dias and Rodri for fouls on Adama Traore meant it was inevitable Jimenez would get one for dragging Rodri back close to halfway as the interval approached.
For the Wolves striker to then actively block Rodri’s free-kick from a couple of yards was an act of folly. Referee Jon Moss had no choice other than to brandish a second yellow at Jimenez, who threw his skull cap down on a couple of occasions as he very slowly made his way off.
The dismissal condemned Wolves to a second-half rearguard effort in which Sa was particularly effective.
Sadly for Grealish, the same was not true of him. The introduction of Kevin de Bruyne for the £100m man came not long after his miss, which was poor and a long way short of the form that attracted Pep Guardiola to him in the first place.
Ederson was a bystander for most of the half. But the Brazilian was alert when it counted to keep out Kilman’s header and, in the process, complete the 100th clean sheet of his City career.
Jimenez’s recovery from a fractured skull has just been recounted in an excellent documentary made by Wolves that has been available to watch on the BBC.
The sight of Kilman and Neves clashing heads in the first half was a sickening reminder of that awful day at Arsenal, when Nuno Espirito Santo’s immediate fear was that the Mexican’s life was in danger.
Thankfully, it was soon apparent that the damage this time was not comparable. Kilman had blood running down his face and required a headband, while Neves was checked over before he too was allowed to continue.
The incident is bound to trigger discussion around the need for temporary concussion substitutes, although, given the history with Jimenez, it is hard to imagine the Wolves medical staff would have allowed either man to continue had there been any doubt about their fitness to do so.
As it turned out, Kilman completed the full 90 minutes and Neves lasted 82 before he was replaced by Francisco Trincao as Wolves boss Bruno Lage searched in vain for an equaliser.
City are next in action against Leeds at Etihad Stadium on Tuesday at 20:00 GMT, while Wolves play Brighton on Wednesday at 19:30