After a frantic start the hosts took the lead when Andrew Trimble touched down in the corner after five minutes. Ruan Pienaar extended his side's advantage with the conversion.
Pienaar put his side 10-0 up minutes later with an impressive long-range penalty.
However, Leicester hit back almost instantly as Geordan Murphy scored a try following good work by Danny Care. Billy Twelvetrees made the conversion to make the score 10-7.
Pienaar landed another huge penalty before Trimble scored an almost identical try in the final minute of the half. This time Pienaar was unable to make the kick as Ulster took an 18-7 lead at the break.
Twelvetrees kicked a simple penalty against the posts early in the second half before two further kicks from Pienaar opened up a 24-7 lead for the home side.
As Leicester flagged, tries from Craig Gilroy and Paul Marshall, both converted by Pienaar, gave Ulster the bonus point win.