Leicester dug out an important Heineken Cup Pool Four win over a determined Ulster at Welford Road.
Outside centre Matt Smith scored the game's only try in the 67th minute, winning the race to pounce on Toby Flood's kick into the corner.
Superb long-range penalties by former Leicester player Ian Humphreys saw Ulster edge ahead on three occasions in the first half.
Fly-half Flood got the rest of Leicester's points with five penalties.
Ulster, who beat Clermont Auvergne in their opening game, will be disappointed not to have come away with at least a deserved bonus point.
They got an early boost when number 10 Humphreys kicked a 55-metre penalty as the Tigers were penalised for offside after a poor up and under by Geordan Murphy.
Flood levelled matters with a long-range effort when Ulster's Chris Henry was penalised for not releasing.
Ulster's lead was restored through another penalty from Humphreys and remained so as Flood missed with his next attempt.
The Tigers applied pressure with driving runs from Thomas Waldrom and Marcos Ayerza resulting in a Leicester penalty which Flood slotted over.
The game provided few moments of flowing rugby due to penalty awards.
Humphreys made it 9-6 after 20 minutes with another sweetly-struck kick but once again Flood tied the scores after the Irish were penalised at a scrum.
Early in the second half, Ulster centre Nevin Spence was penalised for taking Murphy as he was airborne and Flood booted the home side ahead for the first time, 12-9.
Humphreys should have levelled but missed a penalty from an easier position than the three he successfully landed.
Leicester raised their game to score the crucial try with 12 minutes to go.
From a ruck inside the Ulster 22, Flood gained possession to put in a clever grubber kick and Smith won the race for the touchdown.
Then with the last kick of the game Flood converted his fifth penalty.
Leicester: Murphy; Agulla, Smith, Forsyth, A Tuilagi; Flood, Harrison; Ayerza, Chuter, Cole, Deacon, Parling, Croft, Salvi, Waldrom.
Replacements: Skivington for Parling (54), T Youngs for Harrison (57), Castrogiovanni for Cole (57), Stankovich for Ayerza (75), Mafi for Croft (75).
Not used: Hawkins, Staunton, Morris.
Ulster: Danielli; Trimble, Cave, Spence, Gilroy; Humphreys, P Marshall; Court, Best, Fitzpatrick, Muller, Tuohy, Ferris, Henry, Wannenburg.
Replacements: D'Arcy for Danielli (68), Macklin for Fitzpatrick (68), Jackson for Humphreys (74).
Not used: Brady, McAllister, Stevenson, Faloon, Porter.
Referee: R Poite (France).