The 34 year-old was seemingly set to depart in July, with his previous deal approaching its conclusion, but City have ensured he will be around for at least another season.
An intelligent combative midfielder, Fernandinho joined City from Shakhtar Donetsk in 2013 and has been a revelation, appearing in at least 29 Premier League matches in every campaign.
He has remained a key figure this season, playing 20 of the champion's 24 top-flight games, filling in at centre-back for many of those due to City's defensive injury crisis.
City is already set to lose David Silva this year, with the Spaniard previously confirming his plan to return to Spain to be closer to his family.
Fernandinho has won three Premier League titles at City, though he looks unlikely to add to that tally this season with Liverpool 16 points clear of Pep Guardiola's men at the summit.