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.