The French striker, who only joined Bristol last summer for £2m, has signed a four-year contract at Villa Park.
The 26-year-old scored 19 goals in the Championship last season for the Robins from 45 appearances.
Villa boss Roberto Di Matteo said on avfc.co.uk: “We are really pleased to have secured the services of Jonathan.
“He is a proven goalscorer and hopefully he’ll play an important part in what we hope will be a successful season for the club.”
Ivory Coast international Kodjia joined City from French club Angers last summer.
City announced the deal was worth more than four times their previous record sale – when Ade Akinbiyi joined Wolves in September 1999 for £3.5m – and includes a sell-on clause.
The Robins said they had turned down offers from Premier League and other Championship clubs, but reluctantly accepted Villa’s offer after Kodjia stated his wish to move on.
City chief operating officer Mark Ashton said: “We’ve continually told Jonathan that we don’t want him to go, but recently he’s made it clear that he’s aware of the interest of other clubs and that he wanted to leave.
“Due to the high profile nature and speculation surrounding the deal we have chosen to disclose the fee.
“We will receive a total of £11m guaranteed, which has the potential to rise to £15m.
“In addition, we have retained a sell-on clause for a percentage of any future profit.”