City were close to signing Fernando in January but were unable to agree a fee for the Brazil-born player.
However Fernando, who has already passed a medical and agreed personal terms with City, will now move to the Etihad Stadium for a fee of around £12million.
The 26-year-old will become Manuel Pellegrini’s second signing of the summer following Bacary Sagna’s arrival from Arsenal on a free transfer.
Porto released the following statement to the Portuguese stock exchange confirming the news of Fernando’s transfer.
"FC Porto hereby informs the market that it has reached an agreement with Manchester City for the permanent transfer of professional footballer Fernando Reges for 15million euros," it read.
Fernando would give City manager Manuel Pellegrini an extra central midfield option in addition to Yaya Toure, Fernandinho and Javi Garcia.
With City restricted to a net spend of £49million this summer as punishment for breaching UEFA's Financial Fair Play regulations, such a deal could represent good value.
@leftydan, Richards and Rodwell are likely to be surplus to requirements for one reason only. Fitness. Richards was vice captain, he and Rodwell have spent 2 years not fit for purpose. Should they keep their job based on nationality? @ploke, the home grown rule is a farce, England have been rubbish all my life, City over 25 years of my life, so frankly I couldn't give two hoots if are players are from Argentina or Zambia. The sooner people (The FA) realise that rules forcing teams to have players of a certain nationality are holding things back. As in ALL employment, the job should be taken by the best qualified, not the most important passport, no?- zabbaman