Leroy Sane to join FC Bayern Munich for an initial fee of about £44.7m, with an increase of more than £10m.
The German international, joined the English side from Schalke in 2016 for £37m and has two Premier League titles with the club.
He was a key part of the team that won a
domestic treble last year, but has been injured for much of this season.
City manager Pep Guardiola said last week that Sane, whose present deal was due to expire at the end of next season, had refused the offer of a new contract and wanted to leave.
It is understood Manchester City were unwilling to get close to the estimated £20m annual salary Sane will receive from Bayern.
Sane is now ready to travel to Germany in the next 24 hours to complete the transfer.
Although he cannot play for Bayern in the Champions League this season, it is understood he will not return to the Etihad and has played his final game for City.
Sane therefore leaves Manchester City having made 192 appearances for the blue side, scoring 52 goals.