Silva has been in and out of the City team since before Christmas due to personal reasons, though he was kept on the bench for the defeat at Liverpool last weekend due to stomach problems.
The midfielder will also captain the side.
He replaces Ilkay Gundogan in the starting XI, and Oleksandr Zinchenko also comes in to replace Fabian Delph at left-back. The England man was forced off injured during the first half at Anfield at will be out for "a while", according to Pep Guardiola.
Zinchenko's inclusion will be a blow for Danilo, who has been used as a stand-in left-back on several occasions this season.
There is no place for Yaya Toure in the City squad, with 18-year-old Brahim Diaz and 20-year-old Tosin Adarabioyo included among the substitutes.
Newcastle, meanwhile, have made four changes for their trip to the Etihad. Javier Manquillo, Jacob Murphy, Isaac Hayden and Joselu are in for DeAndre Yedlin, Matt Ritchie, Ayoze Perez and Dwight Gayle.
Manchester City XI: Ederson, Walker, Stones, Otamendi, Zinchenko, Fernandinho, Silva (C), De Bruyne, Sterling, Sané, Agüero
Subs: Bravo, Danilo, Gündogan, Mangala, Bernardo, Adarabioyo, Diaz
Newcastle line-up: Darlow, Manquillo, Lascelles (C), Clark, Dummett, Atsu, Hayden, Shelvey, Murphy, Diame, Joselu.
Subs: Elliot, Yedlin, Haidara, Merino, Ritchie, Perez, Gayle