Match ends, FC Porto 0, Manchester City 0.

Manchester City had a late goal against Porto ruled out but a draw was enough for them to secure top spot in Champions League Group C.
It seemed that after a frustrating 80 minutes substitute Gabriel Jesus had broken the deadlock when he tapped home after his initial header had been saved, but the effort was ruled out because Joao Cancelo was offside.
The rest of the match saw exceptional goalkeeper Agustin Marchesin and his deep-lying five-man defence soak up incessant pressure from Pep Guardiola's side, who came into the match having put five goals past Burnley at the weekend and with a 100% record in the group.
The Argentine keeper made three superb saves. He twice denied Spanish forward Ferran Torres, pushing one effort wide of the post in the first half before blocking a spectacular overhead kick after the break.
Porto's stopper also denied Raheem Sterling by rushing out to block his attempt on goal. The England winger went close again when he cut in and fired a low shot which was cleared off the line by Zaidu Sanusi.
The point also saw Porto qualify from the group.
City kept at bay by marvellous Marchesin

Guardiola was insistent in the build-up that his side were determined to win Group C with victory at Porto.
He recalled that the Portuguese champions had given his side a stiff test and physical workout during the 3-1 win at Etihad Stadium in October, and perhaps with all that in mind the Catalan coach picked a strong attack featuring Raheem Sterling, Phil Foden and the in-form Ferran Torres, who was seeking his fourth successive goal in the competition.
But Porto coach Sergio Conceicao also knew that if his team could somehow avoid defeat then his own side would also qualify to the knockout round. So it was no surprise when the home side set up a barricade in front of Marchesin, although the way the keeper performed he could have kept City to nil without a backline.
The Argentine's saves from Torres and Sterling were brilliant and also showed brilliant reflexes to push Jesus' initial header onto the bar before the Brazilian tapped home.
With Lady Luck on his side the goal was ruled out after replays showed Cancelo, who provided the assist, was offside by fractions in the build-up.
Who might keep their place for the game against Fulham?
Neither Phil Foden nor Bernardo Silva are currently first names on the team-sheet, although the English youngster seem the more likelier of the two to make Saturday's XI.
The 20-year-old hugged the left side of the pitch and produced an effervescent display, setting up Torres in the first half for his strike which was saved by the Porto stopper.
Silva was one of the headline acts of the team two seasons ago, but has only featured in six domestic league games this campaign. The 26-year-old covered every area of the pitch but appeared to lack the attacking conviction he previously had, and in the first half received instructions from his manager which seemed to suggest he should show more endeavour.
Sterling could be most likely to break back into the side. He did not feature against Burnley, but on Tuesday managed five efforts on target, including one shot saved by Marchesin and an effort cleared off the line.
'Big congratulations to the team' - reaction
Manchester City boss Pep Guardiola: "They are one of the best teams in Portugal with the quality they have. We played exceptionally well.
"We came here to finish first. We played with huge personality, with courage. It is not easy with eight players in the box - even with that, we created enough chances to win. This is the most important thing.
"Big congratulations to the team for the group stage. In this period, this year especially, the Champions League was tricky.
"In all the games away we have played a really high level. In general, I am more than delighted with the performance in these games. We have one left, nothing to play for, just to maintain the rhythm. Now it is time to forget Champions League and focus on the Premier League."
Porto coach Sergio Conceicao: "We have raised standards high in the name of Portugal. We showed good moments of defensive organisation. It was difficult to get up front as we wanted, much because of City, who react well when they lose the ball."
Eighteen shots but no goals - stats
- Porto remain winless in their last six Champions League games against English sides (D2 L4), failing to score in four of those games.
- City have progressed to the knock-out stages as group winners for the fifth time in the last six seasons, only failing to do so in 2016-17 (progressing as runners-up to Barcelona).
- Porto have ended a run of 14 Champions League home games without a draw, since September 2016 (1-1 v Copenhagen).
- City have kept four consecutive clean sheets in the Champions League for the first time, as many as they managed in the group stages in their last two campaigns combined (four).
- Guardiola has seen his side draw 0-0 in the Champions League for the first time in 59 games since a nil-nil against Shakhtar Donetsk in February 2015 when manager of Bayern Munich.
- City had 18 shots today, their most attempts at goal without scoring in a Champions League match.
What's next?
City host Fulham on Saturday in the Premier League (15:00 GMT).
Player of the match
MarchesínAgustín Marchesín
FC Porto
Avg
- Squad number1Player nameMarchesínAverage rating
6.46
- Squad number32Player nameSarrAverage rating
6.30
- Squad number19Player nameMbembaAverage rating
6.02
- Squad number11Player nameMaregaAverage rating
6.00
- Squad number31Player nameNanuAverage rating
5.95
- Squad number4Player nameDiogo LeiteAverage rating
5.94
- Squad number27Player nameSérgio OliveiraAverage rating
5.92
- Squad number8Player nameUribeAverage rating
5.92
- Squad number50Player nameFábio VieiraAverage rating
5.91
- Squad number12Player nameSanusiAverage rating
5.91
- Squad number25Player nameOtávioAverage rating
5.90
- Squad number17Player nameJM CoronaAverage rating
5.87
- Squad number18Player nameWilson ManafáAverage rating
5.85
- Squad number7Player nameDíazAverage rating
5.79
- Squad number30Player nameEvanilsonAverage rating
5.74
Manchester City
Avg
Squad number20Player nameBernardo Silva
Average rating6.26
Squad number9Player nameGabriel Jesus
Average rating6.13
Squad number47Player nameFoden
Average rating6.09
Squad number3Player nameRúben Dias
Average rating6.04
Squad number21Player nameTorres
Average rating6.03
Squad number7Player nameSterling
Average rating6.01
Squad number27Player nameJoão Cancelo
Average rating5.97
Squad number31Player nameEderson
Average rating5.96
Squad number25Player nameFernandinho
Average rating5.89
Squad number16Player nameRodri
Average rating5.81
Squad number11Player nameZinchenko
Average rating5.62
Squad number50Player nameGarcía
Average rating5.52
Line-ups
FC Porto
- 1Marchesín
- 18Manafá JancóSubstituted forChipela Gomesat 72'minutes
- 19Mbemba
- 4Monteiro Pinto Leite
- 32Sarr
- 12Sanusi
- 25OtávioSubstituted forVieiraat 87'minutes
- 27Oliveira
- 8Uribe
- 11MaregaBooked at 69minsSubstituted forde Lima Barbosaat 72'minutes
- 17JM CoronaSubstituted forDíazat 63'minutes
Substitutes
- 7Díaz
- 9Taremi
- 10Nakajima
- 14Morais Ramos
- 21Silva Baró
- 23Neto Lopes
- 28Felipe Anderson
- 29Martínez
- 30de Lima Barbosa
- 31Chipela Gomes
- 50Vieira
- 99Meireles Costa
Man City
- 31Ederson
- 27Cancelo
- 3Rúben Dias
- 50García
- 11Zinchenko
- 25Fernandinho
- 16RodriBooked at 51mins
- 7Sterling
- 20Bernardo Silva
- 47Foden
- 21TorresSubstituted forGabriel Jesusat 71'minutes
Substitutes
- 2Walker
- 5Stones
- 6Aké
- 8Gündogan
- 9Gabriel Jesus
- 13Steffen
- 14Laporte
- 17De Bruyne
- 22Mendy
- 26Mahrez
- 33Carson
- 69Doyle
- Referee:
- Björn Kuipers
Match Stats
- Possession
- Home32%
- Away68%
- Shots
- Home2
- Away18
- Shots on Target
- Home1
- Away6
- Corners
- Home0
- Away11
- Fouls
- Home10
- Away13
Live Text
Post update
Full Time
Second Half ends, FC Porto 0, Manchester City 0.
Post update
Attempt missed. Eric García (Manchester City) header from the centre of the box misses to the left. Assisted by Fernandinho with a headed pass following a set piece situation.
Post update
Phil Foden (Manchester City) wins a free kick on the right wing.
Post update
Foul by Zaidu Sanusi (FC Porto).
Post update
Oleksandr Zinchenko (Manchester City) wins a free kick on the left wing.
Post update
Foul by Fábio Vieira (FC Porto).
Post update
Phil Foden (Manchester City) wins a free kick in the attacking half.
Post update
Foul by Zaidu Sanusi (FC Porto).
Post update
Gabriel Jesus (Manchester City) wins a free kick in the attacking half.
Post update
Foul by Diogo Leite (FC Porto).
Post update
Attempt missed. Gabriel Jesus (Manchester City) header from the centre of the box is just a bit too high. Assisted by Fernandinho.
Substitution
Substitution, FC Porto. Fábio Vieira replaces Otávio.
Post update
VAR Decision: No Goal FC Porto 0-0 Manchester City.
Post update
GOAL OVERTURNED BY VAR: Gabriel Jesus (Manchester City) scores but the goal is ruled out after a VAR review.
Post update
Offside, Manchester City. João Cancelo tries a through ball, but Rodrigo is caught offside.
Post update
Attempt saved. Eric García (Manchester City) right footed shot from very close range is saved in the centre of the goal. Assisted by Rúben Dias.
Post update
Attempt blocked. Rúben Dias (Manchester City) header from the centre of the box is blocked. Assisted by Phil Foden with a cross.
Post update
Corner, Manchester City. Conceded by Chancel Mbemba.
Post update
Foul by Raheem Sterling (Manchester City).

- Anton Ferdinand: Football, Racism and Me: How the John Terry incident drove him to tackle the problem in the game
- Rugby League's Great British Lions: Follow a behind the scenes look at their return tour down under

Comments
Join the conversation
Jesus, a decent player but never going to replace Aguero.
Haaland would fit the bill but very expensive.
Think Pep should hand out some more opportunities to young Liam Delap. Looked a decent prospect when Pep was forced to play him earlier in the season
The 8 man defence of Porto certainly made it another walk in the bus park evening out for City.
Still dominated and looked streets ahead of Porto though.
On to the next one.