Manchester City extended their lead at the top of the Premier League table to four points with a 1-0 win over a stubborn, 10-man Wolves on Saturday.
Even before Raul Jimenez was sent off on the stroke of half-time it was one-way traffic at the Etihad Stadium with Wanderers registering just three shots all game.
In a horrifically bitty first half which had seven minutes stoppage time, scoring opportunities were at a premium with the visitors defending well in numbers.
Bernardo Silva went closest to breaking the deadlock early on when he bent a left-footed effort just over, while Aymeric Laporte and Joao Cancelo had half-chances.
The game was then flipped on its head following an incomprehensible piece of stupidity from Wolves striker Jimenez. After receiving a booking for a foul on Rodri, the experienced striker opted to block the resulting free kick from a yard away, leading to Jon Moss handing him a second caution moments later.
City came out strong after the break and soon exploited their one-man advantage, peppering the Wolves goalmouth with shots and crosses.
However, the away side held firm until just after the hour-mark when Joao Moutinho was penalised for a handball in the box, and Raheem Sterling cooly dispatched the spot kick. It was the forward's 100th goal in the Premier League.
A few minutes later Jack Grealish fired over at the back post as City continued to ramp up the pressure. Jose Sa was forced into several more good saves before the end, but Wolves' stubborn defending ensured their hosts' winning margin was just one.
The away side even went close to an equaliser in the 92nd minute with what was just their second shot of the game, but Kilman's header was well saved by Ederson.
Here is how the two sets of players rated in the Saturday lunchtime kick off...
Man City player ratings
1. Goalkeeper & defenders
Ederson (GK) - 7/10 - Barely involved, registering just 23 touches and not making his first save until second-half stoppage time. Did well to stay alert.
Joao Cancelo (RB) - 8/10 - Seemingly always in space. He played some sumptuous balls into the box and won the penalty with one of them. Picked up a clumsy yellow card at the end.
Ruben Dias (CB) - 7/10 - A very easy afternoon. Hardly troubled by any danger.
Aymeric Laporte (CB) - 6/10 - Perhaps could have converted a half-chance in the first half. Comfortable as anything.
Oleksandr Zinchenko (LB) - 6/10 - A bit wasteful in the first half but swung in a few dangerous deliveries after the break.
Ilkay Gundogan (CM) - 5/10 - Hooked just before the hour mark after failing to have an impact.
Rodri (CM) - 7/10 - Booked for a foul of Traore, whom he struggled to get to grips with. Flawless in possession and spot-on positioning.
Bernardo Silva (CM) - 7/10 - Some magic moments, continuing his recent good form. It's so easy for him to find space.
Gabriel Jesus (RW) - 5/10 - Poor decision making cost his side a near-certain goal before the break. Missed another good chance in the second period.
Raheem Sterling (ST) - 7/10 - Some intelligent runs which tested the Wolves' backline. Deserves to enter the exclusive Premier League 100 club.
Jack Grealish (LW) - 5/10 - Missed a golden chance after the break. Neat and tidy but still lacking that spark we saw in his Aston Villa days.
Phil Foden (CM) - 6/10 - Not his most impactful cameo but did force a save out of Sa.
Kevin De Bruyne (CM) - 6/10 - Good to see him get more minutes in the legs.
Wolves player ratings
5. Goalkeeper & defenders
Jose Sa (GK) - 7/10 - Made a couple of strong saves during the second-half barrage but made to look very silly by Sterling's penalty.
Max Kilman (CB) - 7/10 - Let the City forward line know he was there with some trademark physical challenges. So nearly earned a point at the end seconds after making a vital block.
Conor Coady (CB) - 8/10 - Lead an impressive defensive unit for most of the second half, finishing with six clearances, three blocks and three interceptions.
Romain Saiss (CB) - 6/10 - Deserves an Oscar for his playacting in the first half after Raheem Sterling brushed his eye. Looked the most suspect of the Wolves' back three.
6. Wing-backs & midfielders
Nelson Semedo (RWB) - 6/10 - Did well against Grealish for the most part. Tried to drive his side forward but it was very tough for him.
Leander Dendoncker (CM) - 6/10 - Part of a determined rearguard action in the second half. Ventured forward a few times early on.
Ruben Neves (CM) - 7/10- Got through an outrageous amount of legwork and more than held his own in the first half. Sending off gave him an impossible task.
Joao Moutinho (CM) - 5/10 - Perhaps unlucky to concede the penalty but in 2021 your arms simply cannot be that high.
Rayan Ait-Nouri (LWB) - 8/10 - Kept extremely busy but coped well with the pressure, dimming Sterling's influence. Progressed it nicely at times.
Adama Traore (ST) - 7/10 - Held the ball up so well in the first half, and caused Rodri to get booked.
Raul Jimenez (ST) - N/A - One of the most brainless decisions in Premier League history. He doesn't even deserve a 0/10.
Hwang Hee-chan (ST) - 5/10 - Worked hard but very little joy, as might have been expected.
Francisco Trincao (ST) - N/A
Daniel Podence (AM) - N/A
For more from Matt O’Connor-Simpson, follow him on Twitter!