Teenage fly-half George Ford landed four penalties as Leicester beat Bath to reach the LV= Cup final.
Ford's first penalty and Graham Kitchener's try put Tigers ahead before Lee Mears's converted try and Tom Heathcote's kick gave Bath the lead.
The two number tens exchanged kicks after the break before Ford put Tigers a point ahead with 10 minutes to go.
Heathcote missed a chance to win the game and despite a late comeback it was too much for Bath.
After a busy but untidy opening, which was short on genuine chances, Ford's inch-perfect up-and-under caused Sam Vesty to hold on to the ball under pressure and the 18-year-old converted from in front of the posts.
And it was Ford's pinpoint touch-finder two minutes later that brought Kitchener's try after Dave Attwood fumbled Bath's five-metre line-out.
Ford's conversion attempt was one to forget and Heathcote pulled back a penalty to make it 8-3 on 25 minutes.
Bath took the lead in spectacular fashion when Matt Carraro's break ended with Olly Barkley's miss-pass to Mears in the corner and once Heathcote added the extras the hosts came alive.
Leicester held them at bay until half-time but Bath started the second half as they had finished the first, working themselves into the Tigers' 22 in the opening minute.
But they squandered great field position and Leicester scrummaged their way back into the game, winning Ford a shot at goal that he converted to make it 11-10 to the visitors.
Heathcote briefly kicked Bath ahead but straight from the restart Ford lined up his third successful penalty of the evening only to have it cancelled out by his opposite number's fourth successive shot at goal.
The young man from Bath could not convert his fifth attempt but Ford held his nerve to give Leicester a slender lead.
Heathcote was wildly off target just a minute later and when Horacio Agulla broke for the line with four minutes remaining Bath never recovered.
VIEWS FROM THE DRESSING ROOM
Leicester director of rugby Richard Cockerill:
"The performance was far from perfect but our attitude kept us in there. Bath are a good side and they play a good brand of rugby - if you let them.
"Fordy does some great things with ball in hand and his knowledge of the game is first rate, far beyond his years. I've wanted to see him play at this level. He's come through with flying colours.
"The confidence and spirit in the squad will be hugely advanced by what we did tonight."
Bath director of rugby Sir Ian McGeechan:
"We had the opportunities we expected but made errors at critical times. In a close game, any opportunity counts.
"It's always a blow when you lose in the latter stages of a competition. Apart from a scrambled try, Leicester didn't threaten our line at all and, having gone behind, we did really well to get back in front."
Bath: Vesty; Banahan, Carraro, Barkley, Biggs; Heathcote, Claassens; Beech, Mears, Bell; Attwood, Caldwell; Fearns, Louw (capt), Skirving.
Replacements: Cuthbert for Vesty (59), Flatman for Beech (51), Perenise for Bell (51), Mercer for Skirving (69).
Leicester: Hamilton; Agulla, Forsyth, Twelvetrees, Lewington; Ford, Grindal; Stankovich, Hawkins, White; Green, Kitchener; Mafi, Newby, Pienaar.
Replacements: Smith for Forsyth (67), Staunton for Lewington (73), Steele for Grindal (80), Ayerza for Stankovich (46), T. Youngs for Hawkins (56), Mulipola for White (46), Salvi for Newby (59), Waldrom for Pienaar (59).
Ref: Dave Pearson (RFU).