Den 33-årige, som gjorde 27 Premier League framträdanden för Kanarieöarna 2015-16, har undertecknat ett tvåårigt avtal.
Den tidigare Middlesbrough och West Ham United mannen, som började sin karriär på Portsmouth, har vunnit befordran från Championship med fyra olika klubbar.
"Gary är en riktigt bra signering för oss, som lägger allt vi behöver till vårt mittfält", sade huvudtränare Lee Johnson.
"Han har just fyllt 33, men han är fortfarande fullt rörlig och mycket vältränad. Han är en riktigt bra beslutsfattare som kan vara en tränares ögon och öron på planen. "
O'Neil hjälpte QPR att marknadsföra sig via play-offs innan han flyttade till Norwich 2014 och har spelat mer än 200 top-flight-spel.
Hitta alla de senaste fotbollsöverföringarna på vår dedikerade sida.
Bristol City har undertecknat mittfältaren Gary O'Neil på en gratis transfer från nyligen förvisade Norwich City.