Lee Tomlins straff tände upp en lugn första period efter Tammy Abraham togs ner i lådan av Ipswich väktare Bartosz Bialkowski.
David McGoldrick nästan jämnade ut poängen strax efter halvtid, men hans låga skott sköts på posten av Ipswich målvakt Frank Fielding.
Luke Freeman förseglade segern med en spektakulär volley från 25 meter.
Segern var bara en sekund i åtta ligamatcher för staden och lyfte Robins upp till 11: e i bordet, medan staden sjunker till 16: e.
Aden Flint tyckte att han borde ha fått en andra straff för City när han gick ner i lådan fem minuter efter den första spot-kick, men domare Stuart Attwell vinkade bort sina protester.
Abraham hade en chans att fördubbla ledningen strax före pausen, men den 12-måliga Chelsea-låntagaren gick över det imponerande Tomlins kors.
Efter McGoldrick slog inlägget, kom Freeman upp med ett mål för säsongen utmanare som han slog hem en vänster-fot volley från långt utanför lådan i nedre hörnet för sitt första mål på Ashton Gate.
Bristol City boss Lee Johnson:
"Det var ett sensationellt mål. Det är en riktigt svår färdighet att få bollen att doppa sig från den position Luke slog den.
"Det var en riktigt stadig och professionell lagvisning, nästan som en bortaföreställning. Vi har varit tvungna att komma bakifrån så ofta, men idag kom vi fram och såg väldigt solida ut.
"Vi har inte fått vad vi förtjänade från senaste spelen. Nu är vi tre poäng från play-offs och tittar upp på bordet igen."
Ipswich stadsdirektör Mick McCarthy:
"Skillnaden mellan lagen var ett straff och en worldie. De började bra, men vi måste ta itu med det.
"Vi var på toppen när en otrolig flygande bomb träffade övre hörnet av vårt nät för det andra målet. Det var helt ostoppbart.
"Jag har inga klagomål på vår visning. Vi måste vara mer effektiva i den sista tredjedelen, men förutom det kände jag att vi tävlade bra mot en bra sida."
Matchen slutar, Bristol City 2, Ipswich Town 0.
Andra halvlek, Bristol City 2, Ipswich Town 0.
Substitution, Bristol City. Gary O'Neil ersätter Korey Smith på grund av en skada.
Offside, Bristol City. Josh Brownhill försöker en genom boll, men Tammy Abraham fångas offside.
Substitution, Bristol City. Bobby Reid ersätter Lee Tomlin.
Försöket räddades. Freddie Sears (Ipswich Town) vänster fotade skott från mitten av lådan sparas i nedre högra hörnet. Hjälpt av Cole Skuse.
Jonathan Williams (Ipswich Town) vinner en frispark i den defensiva halvan.
Foul av Korey Smith (Bristol City).
Substitution, Bristol City. Josh Brownhill ersätter Luke Freeman.
Försök missade. David McGoldrick (Ipswich Town) höger fotade skott från utsidan lådan är hög och bred till höger. Hjälpt av Leon Best.
Foul av Cole Skuse (Ipswich Town).
Marlon Pack (Bristol City) vinner en frispark i defensiva halvan.
Adam Webster (Ipswich Town) vinner en frispark i defensiva halvan.
Foul av Tammy Abraham (Bristol City).
Försök missade. Lee Tomlin (Bristol City) höger fotade skott från utsidan lådan är nära, men missar till höger.
Offside, Ipswich Town. David McGoldrick försöker en genom boll, men Freddie Sears fångas offside.
Offside, Ipswich Town. Leon Best försöker en genom boll, men David McGoldrick fångas offside.
Försöket räddades. Tammy Abraham (Bristol City) höger fotade skott från mitten av lådan sparas i nedre vänstra hörnet. Hjälpt av Luke Freeman.
Substitution, Ipswich Town. Jonathan Williams ersätter Tom Lawrence.
Mål!  Bristol City 2, Ipswich Town 0. Luke Freeman (Bristol City) vänster fotade skott från utsidan av lådan till övre vänstra hörnet efter en set bit situation.
Foul av Christophe Berra (Ipswich Town).
Aaron Wilbraham (Bristol City) vinner en frispark på högerkanten.
Försök missade. Luke Freeman (Bristol City) huvudet från mitten av lådan missar till höger. Hjälpt av Hördur Bjorgvin Magnusson med ett kors.
Substitution, Ipswich Town. Freddie Sears ersätter Grant Ward.
Substitution, Ipswich Town. Leon Best ersätter Luke Varney.
Foul av Luke Varney (Ipswich Town).
Adam Matthews (Bristol City) vinner en frispark i den defensiva halvan.
Hörnet, Bristol City. Sammankallad av Jonas Knudsen.
Försök blockerat. Hördur Bjorgvin Magnusson (Bristol City) vänster fotade skott från utsidan av lådan är blockerad.
Foul av Christophe Berra (Ipswich Town).
Tammy Abraham (Bristol City) vinner en frispark i anfallshalvan.
Foul av Cole Skuse (Ipswich Town).
Korey Smith (Bristol City) vinner en frispark i anfallshalvan.
Försök missade. Marlon Pack (Bristol City) höger fotade skott från mer än 35 meter missar till höger.
Foul av Marlon Pack (Bristol City).
Grant Ward (Ipswich Town) vinner en frispark i den defensiva halvan.
Aaron Wilbraham (Bristol City) vinner en frispark i anfallshalvan.
Foul av Christophe Berra (Ipswich Town).
Försöket räddades. David McGoldrick (Ipswich Town) höger fotade skott från höger sida av lådan sparas i nedre högra hörnet. Hjälpt av Cole Skuse med en genomgångskula.
Handboll av Luke Varney (Ipswich Town).
Bristol City avslutade en tre-spel förlora springa i mästerskapet med en imponerande seger över Ipswich Town.