Bony's move was confirmed by both Barclays Premier League clubs in synchronised statements on their club websites on Wednesday afternoon, although the Ivory Coast Football Federation had earlier announced the transfer on Twitter.
The 26-year-old is currently on international duty with the Ivory Coast ahead of the African Nations Cup, which starts in Equatorial Guinea this weekend and could prevent his City debut until the middle of next month.
Bony has signed a four-and-a-half year contract at the Etihad Stadium and will wear the number 14 shirt.
Swansea are strongly linked with a £7million move for Newcastle striker Papiss Cisse, having already quizzed about his availability last week.
Swans boss Garry Monk has set his sights on Cisse to be his replacement.
Cisse has less than 18 months to run on his current deal and Newcastle could be prepared to take a small loss on the £9million they paid Freiburg for his signature.