It was only the second defeat of the season for the Tigers, who slipped three places to eighth on goal difference, while victory for Ipswich kept their early-season form rolling.
Town got off to a flying start thanks to a marvellous strike by Wes Burns in the fifth minute and former Barnsley striker Conor Chaplin completed a wonderful move to make it 2-0 just before the break. Marcus Harness scored the third midway through the second half from close range.
The opener came when former Leeds United left-back Leif Davis delivered a crossfield pass which Chaplin let run across him to Burns, who angled a shot past Ryan Allsop.
Hull nearly equalised in the 17th minute following a break by Liam Delap. Ipswich centre-back George Edmundson raced back with him and the ball spun to Republic of Ireland international Aaron Connolly, inset, who stabbed it across goal.
Then Jacob Greaves’ shot from just outside the penalty area nearly deceived Ipswich goalkeeper Vaclav Hladky, who just managed to beat the ball away.
Town went further ahead in the 41st minute following a move which started at the back through Hladky. Harness played in Davis who rolled the ball across to Chaplin just inside the D. He took a touch to control the ball and another to expertly curl it into the far corner of the City net.
Town wrapped it up in the 65th minute as Hladky again started the attack and George Hirst showed a turn of pace down the left to cross for Harness to bundle the ball home.
Hull substitute Scott Twine then went close with a free-kick but it was too little, too late.
Ipswich Town: Hladky, Williams, Woolfenden, Edmundson, Davis, Morsy, Luongo (Taylor 90), Burns (Jackson 81), Chaplin (Giraud-Hutchinson 81), Harness (Scarlett 80), Hirst (Ladapo 81). Unusued substitutes: Walton, Clarke, Ball, Broadhead.
Hull City: Allsop, Christie, Jones, Greaves, Lewie Coyle (Ruben Vinagre 58), Morton (Docherty 69), Seri (McLoughlin 68), Delap, Traore (Twine 46), Jayden Philogene-Bidace, Connolly (Sinik 68). Unused subsitutes: Ingram, Furlong, Smith, Sellars-Fleming.
Referee: Matthew Donohue (Lancashire).