Jeremy Staunton scored all 25 points for Leicester at a sunbaked Recreation Ground but still finished on the losing side.
The Irishman could have won the game all on his own but at the death, given a 45-metre penalty to win the game with the clock at zero, he pushed the ball wide.
It was his only kicking failure all afternoon.
Instead it was Bath's 19-year-old Academy fly-half Tom Heathcote who stole the limelight, coming on at half-time for Sam Vesty and landing a touchline conversion before adding two penalties to snatch victory.
Bath's other try scorer was lock Dave Attwood, his first for the club, while Staunton's seventh-minute intercept provided the visitors' only try.
David Flatman returned to lead Bath from loosehead and there was also a recall for the experienced Scot Simon Taylor at No8 after his recovery from a cracked cheekbone. Ben Williams had shaken off a leg injury to partner ex-Tiger Dan Hipkiss at centre.
Leicester welcomed back second row Geoff Parling who played only one game last season before suffering a serious knee injury. There were first starts too for James Grindal and Staunton, paired at half-back, while Mathew Tait came into the back line.
Vesty, another former Leicester favourite, rewarded Bath's early dominance with a penalty after five minutes but then gifted his opposite number an interception try from half-way. The Irishman added the conversion.
Michael Holford slipped his bind at a scrum to present Vesty with a second penalty on 12 minutes but the tit-for-tat continued as Staunton punished Nick Abendanon for holding on after the tackle.
Now it was Bath's turn to feel the pressure as Billy Twelvetrees danced into the Bath 22 and Attwood was penalised for coming in at the side of a ruck, Staunton's second penalty making it 6-13 at the end of the first quarter.
Former Bath back row Julian Salvi was making life difficult for his old team-mates at the breakdown and also came close to scoring with a drive to the line. Steve Mafi was hauled down close to the line by Ben Skirving but Leicester collected another penalty, kicked by Staunton.
Mafi then latched on to a knock-on by Hipkiss and would have scored but for a fine tackle by Abendanon.
For the last 10 minutes of the half, however, Bath regained control, with Biggs looking particularly dangerous. It was his slashing break that finally created the momentum for the first Bath try. Although the wing was brought down under the posts, the Bath pack kept their composure and Attwood scored under the posts. A clearly dazed Vesty kicked the conversion but played no further part, being substituted at half-time.
Staunton continued to dominate the scoreboard, however, edging Leicester into a 19-13 lead soon after the break and was on target again with his fifth penalty in the 54th minute. Bath desperately needed to inject some pace into their game – and it came from the roving Biggs on 58 minutes.
His burst took play behind the Tigers' defence and a neat offload from prop Kane Palma-Newport put Carraro in at the corner. Replacement fly-half Tom Heathcote landed the conversion and cut the visitors' lead to 22-20.
The Academy fly-half was on the mark again in the 70th minute only for Staunton to take his tally to 25 points with his sixth penalty.
The drama did not stop there. Heathcote struck the post with a straightforward attempt a couple of minutes later but Bath kept up the assault, Salvi infringed and the youngster was presented with an unmissable opportunity under the posts.
When Bath were penalised at a scrum just inside the Leicester half, Taylor inexplicably prevented Grindal from picking up the ball. Referee Tim Wigglesworth marched Bath back 10 metres but for once Staunton's radar was off-beam.