City will lose David Silva in the summer when his contract runs out, and 35-year-old Fernandinho is likely to follow next year.
Pep Guardiola is looking at short and medium-term solutions, which has led the Citizens to Bennacer.
At 22, the former Arsenal youngster has his best years ahead of him, but is already starring for Milan.
The problem for City is that the Algerian only arrived at Milan last year from Empoli for €16m.
Bennacer is under contract at the San Siro until 2024 and City would have to dig deep to get him.
City wanted to sign Bennacer from Arles when he was 17, but were pipped by Arsenal, where he made only one League Cup appearance.
Ligue 1 champions Paris Saint-Germain also have Bennacer in their crosshairs.