The England midfielder, 24, has joined the big-spending Blues after a summer of speculation over his future, although Eastlands always seemed likely to be his ultimate destination.
Milner has signed a five-year contract and midfielder Stephen Ireland has joined Villa from City as part of the deal.
Milner, who completed his medical late on Tuesday, could make his City debut in their Premier League clash with Liverpool at Eastlands on Monday.
City boss Roberto Mancini told www.mcfc.co.uk: "I am very happy to have James with us, everybody knows we have admired him for some time.
"He is an excellent midfielder who can play in a number of positions. This is important for the team and I am looking forward to seeing him play for us. We have a very strong squad and this signing is a very important one for us.
"James is already a very good player who has proved he can play at the very top level. But he is also young and a good character, I think he can also improve and be a great player for Manchester City for a long time."
Milner replaces Ireland as City's number seven, and Mancini added of the departing midfielder: "I hope things go well for Stevie at Villa.
"He is also a very good player and he has played a big part in City's history. I think he will enjoy the change of being at another club and I hope he does well for Aston Villa."
Source: PA
Source: PA