The Premier League champions tabled a failed joint bid for the 26-year-old and Eliaquim Mangala in January, but the former now becomes their second summer signing for £12 million
As reported by Goal in May, the 26-year-old and right-back Bacary Sagna were top of Manuel Pellegrini's transfer wishlist for the summer.
Sagna's move on a free transfer was confirmed earlier this month, with Fernando becoming the champions' second close-season recruit.
City tabled a joint bid for Fernando and team-mate Eliaquim Mangala in January, though the deal could not be completed before the transfer deadline - with the former then signing a new contract with Porto.
|MAN CITY LATEST
|7/4||Man City are 7/4 with Bet365 to win the Premier League next season|
He told Maisfutebol: "Fernando is in the city of Porto waiting for Porto tell him their decision about the documents they have received so that he can travel immediately [to Manchester]."
Fernando, who was denied the opportunity to represent Portugal, has been targeted by City for his midfield anchorman qualities and will compete with the likes of Fernandinho and Yaya Toure for a starting berth.
And he has expressed his delight at finally completing his move to Etihad Stadium, saying: “I am so happy to finally be joining Manchester City.
“I know there was talk of me possibly signing last January so I am delighted that the deal has now been done and that I am a City player.
“I’m looking forward to meeting my new team-mates and helping City to defend the title. It is a very exciting time to be part of this football club and I cannot wait to play in the Premier League.
“City fans can be assured I will give my all every time I play and I’m looking forward to many happy years in Manchester.
“I have enjoyed my stay with Porto and I thank the club and the fans for their support during my time in Portugal. Now I am ready for a new chapter in my career.”