As Manchester City have continuously found out this season; when one team is only playing for a draw it's incredibly difficult to get anything more from the game. Porto were content to sit back and absorb City's, at times, insipid attempts at goal, only occasionally offering any attacking threat themselves.
At one point, City were even fighting to keep the ball from crossing over the line in Porto's net. Eventually Gabriel Jesus scored, only for it to be ruled out by VAR once again.
Up until that point it was a largely uneventful match, so surely you can't be expecting many dramatic ratings? Let's find out...
Ederson - 7
More screenshots of the Brazilian looking like he was playing at left-back did the rounds during the game. He was rather reckless in coming out for the ball at times, but his quick reactions helped the side overall.
Joao Cancelo - 7.5
His second-half display improved this rating massively. Helped to give City the attacking threat from the right-wing that was lacking from the left. I'm sure we're all here for the step-over trickery and refusing to help up a player he's just fouled.
Ruben Dias - 7
Another commanding performance that we've grown to expect of the Portuguese. Successfully mopped up the few attacks required of him but spectacularly missed an open net at the other end, hitting the ball away from goal (it wasn't as easy as it sounds, though).
Eric Garcia - 5.5
For anybody asking why Garcia started; it's because he's a perfectly viable option when other players need resting. Having said that, I don't think he had the best game. His loose passing became frustrating, especially in the first half.
Olexandr Zinchenko - 6
Created some chances with crosses into the box, and combined well with Foden and Sterling on the left. Ultimately he didn't offer the threat we've seen from other players in this position this campaign.
Fernandinho - 7
A vintage performance from the captain. Made a terrific diagonal pass across the pitch to Foden to set him through on goal, who was unfortunate not to take advantage.
Rodrigo - 6.5
A physical presence that was needed in the centre of the pitch. However, often it feels as though Rodri is too slow to get the ball out from underneath his feet, and in a game lacking urgency that was felt a lot more here.
Bernardo Silva - 8
Played all over the pitch, using his pace to provide an attacking threat on and off the ball. While he didn't have many key moments for the highlight reel, he was City's best player on the night. Good to see him playing with a smile on his face.
Phil Foden - 7.5
Showed promise early in the game with brave runs deep into Porto's half, and even took a decent corner, which we rarely see from anyone in a City shirt. His impact on the game wasn't felt throughout, though he did play a sublime De Bruyne-esque cross that should have been converted.
Ferran Torres - 6
Had a number of chances to add another goal to his tally, but Porto's keeper was on top form, at one point even keeping out a Torres' overhead kick. His lack of work off the ball looks lackadaisical at times.
Raheem Sterling - 7
Like the whole side, Sterling was unlucky not to get a goal. He moved across the entire front line to try his luck but couldn't find the right touch to get the ball over the line.
Gabriel Jesus - 8
Taking into account he only played for fifteen minutes, he was clearly the biggest attacking threat on the pitch all night. His ability to get around defenders has dramatically improved, and he was the only one to get the ball in the back of the net, even if it was ruled for offside.
You can follow us for live updates here: @City_Xtra