Kilmarnock accepted an undisclosed bid for the midfielder on Thursday and Kelly passed a medical later that day, meaning the move is now only subject to international clearance.
The 22-year-old has made over 100 appearances for Killie and won the Scottish League Cup there.
Manager Derek McInnes told the Robins' official website: "He has accumulated quite a lot of games and experience in the Scottish Premier League and has been a key player for Kilmarnock over the last few seasons.
"He has amassed quite a lot of Under-21 games for Scotland and is now involved in the full senior squad as well.
"Liam is someone we think will only get better. He gets around the pitch, utilises the ball well and takes responsibility for his position."
Kelly added: "I'm pleased to be signing for a fantastic club.
"I've been in England before with MK Dons, served my apprenticeship and then moved to Kilmarnock for four seasons.
"It's a big step to take (to come to Bristol City) but one I'm looking forward to. I can't wait to get going now and get training with the lads."
- Sports & Recreation