Manchester City came from a goal down to defeat the Portuguese champions 3-1 at the Etihad Stadium thanks to goals from Sergio Aguero, Ilkay Gundogan and Ferran Torres.
Fernandinho appeared as an 85th minute substitute to help Pep Guardiola’s men close out the win but limped off in stoppage time and was replaced by John Stones.
The 35-year-old’s withdrawal added to Man City’s growing injury list as the likes of Kevin De Bruyne, Nathan Ake, Gabriel Jesus, Benjamin Mendy and Aymeric Laporte were all missing in action against Porto.
Providing a further update at his post-match news conference, Guardiola said: "It will be four to six weeks. It's a big blow as we have a run of games ahead and no people there."
"I think Kevin and Laporte start training tomorrow but I don't know how they will be tomorrow and the next days so we will see," he said.
"Unfortunately people came back and now we have lost another but it is really important to come back.
"In three days we go to London and after we travel to France to play against Marseille and then Sheffield [United] three days after.
"The schedules are so demanding and we need all the players."
Fernandinho has played six times in all competitions for Man City this season.