Ireland fly-half Jonathan Sexton kicked six penalties - three during a 15-minute spell in the second period - while his two clinching goals arrived during the closing seven minutes.
Before then, Bath had been close to claiming a notable scalp, England wing Matt Banahan having barged over from close range and Olly Barkley booting the conversion to put them in front after 65 minutes.
Barkley also kicked two first-half penalties but the effort was not enough as Sexton held his nerve towards the end.
Bath now head to Dublin for next Saturday's return fixture and, while they are not mathematically out of quarter-final contention, it will require a Herculean effort to turn things around, with a losing bonus point providing scant consolation.
In the same pool, Glasgow Warriors maintained their pursuit of Leinster with a 20-15 victory over Montpellier at Firhill.
In what as an attritional affair, Duncan Weir laid the foundations for the win, kicking four penalties before Ruaridh Jackson came on for the final 23 minutes.
He slotted a fifth pentalty with 12 minutes left before Federico Aramburu sealed the win by going in for a try.
Montpellier's tries came from Eric Escande and Masi Matadigo, the latter's effort coming in the last minute to earn his side a losing bonus point.
Leicester surrendered their unbeaten record in this season's tournament, and their position at the top of Pool Four, to Clermont Auvergne as they lost 30-12.
Leicester, who struck through a penalty try and Ben Youngs' effort, were second best for most of the game and now need to win the return clash at Welford Road next weekend.
The Tigers, who had won their previous two pool games against Italian outfit Aironi and Ulster, paid a heavy price for their own indiscipline.
Hooker George Chuter and England centre Manu Tuilagi were both sin-binned in the 50th minute for dangerous play, leaving the Tigers with 13-men for 10 minutes.
Clermont, with Julien Malzieu and Wesley Fofana (2) scoring the tries, made the most of their two-man advantage to record their 35th consecutive home victory in front of a partisan 18,000 crowd at the intimidating Stade Marcel Michelin.
It was not a good weekend for the English sides.
On Saturday, Northampton's indiscipline cost them dearly as their participation was effectively ended with a 41-22 defeat against Castres at Stade Pierre Antoine.
The English side produced a real Jekyll and Hyde performance and were well beaten, with fly-half Steve Myler and flanker Tom Wood both sin-binned in the first and second half.
The French side took full advantage and the English side could not survive playing with 14 men for 20 minutes in this must-win Pool One clash.
Romain Martial scored a brace of tries while Steve Malonga and Ibrahim Diarra also crossed for the hosts.
Northampton also managed four tries of their own with Jamie Elliott (two), Mark Sorenson and Samu Manoa all going over.
In the other Pool One clash, Ronan O'Gara celebrated his 100th Heineken Cup appearance with 12 points as Munster saw off the Scarlets 17-14 at Parc y Scarlets.
The other points for the Irish came with a first-half try for flanker Niall Ronan. It was Munster's 13th straight win over the Scarlets.
The Scarlets, who had a try for flanker Aaron Shingler, two penalties for Rhys Priestland and one for Stephen Jones, led twice but could not match Munster's more streetwise approach.
Saracens marched to the top of Pool Five with a 31-26 victory over the Ospreys in an entertaining clash at Wembley Stadium.
Rhys Gill, Ernst Joubert and Chris Wyles scored the tries and Owen Farrell, the 20-year-old who is in contention for a place in England's Six Nations squad, kicked 16 points.
The Ospreys kept themselves in touch with a brace of tries from Ashley Beck while Dan Biggar kicked the rest to ensure they left London with the consolation of a losing bonus point.
Saracens head into next weekend's rematch at the Liberty Stadium top of Pool Five with 10 points, three ahead of Biarritz and the Ospreys.
The boot of Kristopher Burton proved the difference as he kicked 16 points to spur Benetton Treviso to an impressive 30-26 win over Biarritz.
The Italian side had gone into the game with an unbeaten home record in the competition and Burton helped them maintain that with three conversions and three penalties.
Early tries by Michele Rizzo and Robert Barbieri were converted by fly-half Burton, before Pelu Taele replied with a try.
Benetton's Cornelius van Zyl and Biarritz's Marcelo Bosch traded tries before Burton kicked a penalty as the home side led 24-12 at the break.
Burton opened up the second half with a penalty but tries from Damien Traille and Yann Lesgourgues and two conversions by replacement Julien Peyrelongue brought the visitors within a point, before Burton's late penalty edged his side to a famous win.
London Irish kept their hopes alive with a stunning bonus-point 34-14 success over Racing Metro in Pool Two.
A brace of tries in less than five minutes halfway through the second period set the Exiles on their way to their first win of the competition as they bounced back from previous defeats to Edinburgh and Cardiff Blues.
Impressive scores from Joe Ansbro and Adam Thompstone turned the game on its head after 54 and 57 minutes respectively before Thompstone claimed his second with seven minutes remaining at the Stade Yves Du Manoir.
Irish trailed 14-10 at the interval after Jonathan Spratt had matched Sereli Bobo's early effort but there was only one side in it after the break.
Freddie Burns landed the decisive penalty as Gloucester beat Connacht 14-10 for their first win in this season's tournament.
Burns kicked the English side 6-0 ahead in the Pool Six clash at the Sportsground before James Simpson-Daniel and Connacht captain Gavin Duffy swapped tries coming up to half-time.
The second period was bookended by penalties from Niall O'Connor and Burns as the Cherry and Whites stood firm to pick up only their second away victory in all competitions since February.
On Friday night Harlequins' record 14-match unbeaten run came to a crashing halt at The Stoop after they were overpowered 21-10 by four-time champions Toulouse.
Conor O'Shea's men briefly threatened a second-half comeback with a try from full-back Mike Brown, who impressed in difficult circumstances.
But ultimately Toulouse had too much power and panache.
The French giants created a try in each half for the Fijian wing Timoci Matanavou while Luke McAlister kept Harlequins subdued with three penalties and a conversion.
Dan Parks kicked 20 points as Cardiff Blues maintained their unbeaten start in the competition and leapfrogged Edinburgh to go top of Pool Two after a 25-8 victory at Cardiff City Stadium.
A drop goal and penalty from fly-half Parks gave the Blues a 6-3 half-time advantage - scrum-half Greig Laidlaw replied with a penalty for the visitors.
The Scotland international then added another drop goal, three penalties and converted Alex Cuthbert's late try to seal the win.
Edinburgh claimed a try of their own through Lee Jones as their unbeaten start in Europe came to an end.
Ulster kept their quarter-final hopes alive with a thumping five-try 31-10 win over Aironi, a result which puts Brian McLaughlin's squad top of Pool Four, at least until Clermont and Leicester Tigers do battle on Sunday.
Tries from man of the match Stephen Ferris, Adam D'Arcy, Andrew Trimble, Paul Marshall and 19-year-old Paddy Jackson saw Ulster on their way.
The win sets them up well to repeat the dose when they visit Aironi for the second part of the European double-header next Saturday, a game which Ulster again have to bid to take maximum points from.