Ulster completed a third Magners League win in a row but failed to add a bonus point despite scoring two tries inside the opening seven minutes.
A Tom Court try in the third minute was quickly followed by another from winger Craig Gilroy and a Ruan Pienaar penalty had Ulster 15-0 up after 14 minutes.
Aironi full-back James Marshall picked a path through some missed tackles for a try before half-time.
Ulster were hanging on at times but got a third try through Declan Fiztpatrick.
The result keeps Ulster dream of a play-off place alive but coach Brian McLaughlin will not be that happy with the overall performance against a side which has lost all 16 matches in the competition.
The result could have been a lot closer had Aironi been more precise with their finishing.
Court drove over the line for the opening try after Ulster had kicked to the corner from a penalty.
Pienaar's conversion hit the upright but he made sure with his second attempt which came four minutes later after Ulster had moved the ball at pace for Chris Henry to send Gilroy over for a seventh try in seven appearances.
Pienaar then added a penalty to put Ulster 15 points clear.
It looked likely that Ulster would romp to a huge win but errors and lack of precision crept into their game.
After half an hour Riccardo Bocchino kicked a penalty after Court was penalised for not rolling away.
Then Pienaar saw a reasonably straightforward penalty attempt glance off the upright and bounce out.
Aironi grew in confidence and after a great surge from Nick Williams the ball was moved blind and Marshall scored under the posts.
Bocchino added the extras and the Italians were back in the game.
Aironi almost grabbed a second try when winger Danwel Demas broke clear on an intercept but Pienaar's tap tackle saved Ulster.
The Italians pushed on and a series of penalties resulting in line-outs on Ulster's line saw Johann Muller sin-binned for Ulster.
Ulster survived Muller's absence without conceding and even managed a Pienaar penalty to lead 18-10.
After a half break from Paddy Wallace, replacement prop Fitzpatrick was awarded a try after the TMO was consulted.
Pienaar, though, missed the conversion and Ulster led 23-10.
Aironi fluffed a late chance to claim a bonus point when Tommaso D'Apice threw a forward pass to Kaine Roberston with the line at his mercy.
Replacements: Danielli for D'Arcy (46), Fitzpatrick for McAllister (46), Kyriacou for Brady (46), L Marshall for P Marshall 58, McComb for Barker (66), Diack for Faloon (76), Cronin for Fitzpatrick (77).
Not used: Seymour.
Aironi: Marshall, Robertson, Pavan, Pratichetti, Demas, Bocchino, Travagli, A De Marchi, Santamaria, Gamboa, Furno, Bortolami, Sole, Krause, Williams.
Replacements: Rubini for Bocchino (70), Tebaldi for Travagli (64), Redolfini for A De Marchi (59), D'Apice for Santamaria (70), A. De Marchi for Gamboa (59).
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.