The 26-year-old scored 20 goals in 52 games for Bristol City, after signing from French club Angers in July 2015.
The Ivory Coast international had also been the subject of interest from Derby County and Premier League side Hull.
Villa had reached an agreement to sign Hull forward Abel Hernandez, but the move fell through over personal terms.
Bristol City owner Steve Lansdown had previously said they would not sell Kodjia to any fellow Championship club, and that any deal would have to exceed £10m.
The deal represents the largest transfer fee City have ever received for a player, surpassing the £3.5m the club sold Ade Akinbiyi to Wolves for in September 1999.
Villa boss Roberto Di Matteo said he had signed a "proven goalscorer" in Kodjia, while City chief operating officer Mark Ashton said the club had retained a sell-on clause and decided to disclose the fee "due to the high-profile nature and speculation surrounding the deal".
Ashton added: "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."
Kodjia is a proven goal scorer at Championship level, a physical and competitive style of player with greater mobility than a Rudy Gestede or Libor Kozak.
Whether he is quite the "world-class striker" that Villa chairman Dr Tony Xia promised via his prolific Twitter account is dubious, but he could well thrive on the sort of service Ross McCormack and Jack Grealish are capable of providing.
The Villa squad was always going to need revolution rather than evolution after last season's psychologically damaging relegation - Kodjia is the latest component of a summer of change.
Aston Villa have signed Bristol City striker Jonathan Kodjia on a four-year deal, for an initial £11m that may rise to a Championship record fee of £15m.