The hosts took the lead after 25 minutes through Michael Chopra's effort. Lee Martin was released down the right flank by Jay Emmanuel-Thomas before whipping a cross in to Chopra, who made no mistake with the finish.
Ipswich got the vital second goal 20 minutes into the second half, Tommy Smith getting the goal that all but killed off City's hopes of a comeback.
The third and final goal came five minutes from time through Drury to complete a comfortable and deserved win for the Tractor Boys.
The result lifts Ipswich up to 14th in the table on 43 points, while Bristol City remain in 21st, just three points clear of the relegation zone.