Bath (3) 3 Pen: James
Leicester (3) 3
Toulouse's Clement Poitrenaud is tackled by Alex Crockett
Bath face a Heineken Cup quarter-final visit to Leicester after a draw with Toulouse at a mud-soaked Rec.
Castres' defeat of Wasps meant both clubs advanced from Pool Five, but the result set up away ties for Bath and Toulouse, who will now visit Cardiff.
First-half penalties from the hosts' Butch James and Jean-Baptiste Elissalde were the only scores of the game.
Elissalde had chances to win it before the break but Bath ultimately deserved the draw in atrocious conditions.
It was a satisfactory ending to a turbulent week for Bath, whose build-up was overshadowed by prop Matt Stevens' drugs confession.
Duncan Bell replaced him in the front row, although he was unable to prevent Bath's scrum being severely outmuscled in the first half as the rain and hail came down in sheets.
James did give the hosts the lead after just two minutes, but with handling a nightmare and puddles forming all over the pitch, it was clear that points would be at a premium.
Elissalde, who missed five kicks at goal, pushed a penalty attempt wide on 16 minutes before Bath flanker Michael Lipman was knocked out cold and helped from the pitch.
On 22 minutes, Toulouse skipper Fabien Pelous opted to go for goal after being camped on the bath line for several minutes and Elissalde, playing at 10, evened things up with the boot.
Also missing locks Danny Grewcock and Peter Short, Bath collapsed scrum after scrum before the break, but Elissalde was unable to prosper, missing with three penalty attempts.
Shortly before the interval, Bath had a rare sniff of the Toulouse touchline when Cedric Heymans had a kick charged down, but Clement Poitrenaud slid to the rescue.
With conditions deteriorating, the second half was even more attritional than the first, although Bath were suddenly more solid at the set-piece.
James hooked a penalty attempt wide shortly after the restart and gave away a penalty for joining a ruck from the side when Bath were camped on the opposition's line.
A three-pointer from Poitrenaud fell just short on 56 minutes, before Bath launched a desperate attempt to steal victory at the death, going through 19 passages of play inside Toulouse's 22.
But they could not give James the drop-goal platform he required, eventually conceding a penalty and allowing Toulouse a chance to successfully close out the game.
Three-time champions and last year's beaten finalists Toulouse are the only French side to qualify for the last eight.
Bath coach Steve Meehan: "We were fortunate to be 3-3 at half-time - the score didn't do Toulouse any justice. They had all the territory and possession, while we were looking for miracle fixes.
"We didn't put Toulouse under any pressure, but we addressed it at half-time.
"All we asked for this week was absolute commitment, and the guys gave their all. It was a very solid team performance.
"To play six matches, and have four wins, a draw and a narrow loss to Toulouse, was very good. I believe in these players - they are very resilient and full of character."
Bath: Abendanon, Maddock, Crockett, Berne, Banahan, James, Claassens, Barnes, Mears, Bell, Harrison, Hooper, Beattie, Lipman, Browne.
Replacements: Flatman for Barnes (40), Dixon for Mears (68), Scaysbrook for Lipman (17), Faamatuainu for Browne (72).
Not Used: Jarvis, Bemand, Hape.
Toulouse: Poitrenaud, Medard, Fritz, Jauzion, Heymans, Elissalde, Kelleher, Human, Servat, Lecouls, Pelous, Albacete, Bouihlou, Dustautoir, Sowerby.
Replacements: Clerc for Poitrenaud (73), Ahotaeiloa for Fritz (39), Du Toit for Elissalde (63), Vernet Basualdo for Servat (66), Perugini for Lecouls (71), Lamboley for Pelous (71), Nyanga for Bouihlou (53).
Ref: Alain Rolland (Ireland).