Toulouse (6) 18
Pens: Skrela 6
Bath (3) 16
Tries: Claassens, Abendanon Pens: James 2
Skrela celebrates his last-gasp match-winning penalty
David Skrela kicked Toulouse to victory over Bath with the last play of the match in a thrilling Heineken Cup encounter in the south of France.
Until then it looked like Butch James was going to be the hero, having set up both Bath's tries, including Nick Abendanon's 79th-minute effort.
But at the death Skrela had a chance to score from the tightest of angles.
The kick looked to be sailing wide of the far post until it swung back in to break Bath hearts.
James had kicked Bath into an early lead as they refused to be intimidated by a noisy home crowd but once Skrela put Toulouse onto the scoreboard, they subjected Bath's defence to a fierce test.
Skrela's chip into the left-hand corner just eluded Maleli Kunavore, and Bath then had another lucky escape when Toulouse's Shaun Sowerby turned his back on the ball as he charged down Alex Crockett's attempted kick out of defence.
Bath were eager to attack from their own half and Shaun Berne's delayed pass allowed Abendanon to tear through the defensive line but he was hauled down by Maxime Medard before he could offload.
Skrela added a second penalty before half-time and the French side hurled themselves into attack after the restart, with James and Abendanon's hesitancy in defence putting Bath on the back foot.
But Bath replied in the best possible way, with James at the centre of the action.
He was denied a good scoring chance when he collided in mid-air with Yannick Jauzion, but the referee waved away shouts for a penalty try, saying both players were looking at the ball and awarding a scrum to Toulouse instead.
From that scrum Byron Kelleher tried to kick the ball clear, only for James to charge it down straight into the path of Michael Claessens, who touched down.
Seeing Toulouse's lead reduced to one point lifted the visitors, and no sooner had Skrela added his fourth penalty than James kicked his second to ensure his side remained in the hunt.
Another Skrela penalty ensured Bath would need more than just one kick if they wanted to win the match, and the chance for this came when Yannick Nyanga knocked-on in the line-out.
From the resulting scrum James kicked the ball right into the corner for another line-out, and he was involved in the move that worked the ball over into the right-hand corner for Abendanon to touch down.
James missed the conversion, but it looked like Bath had done enough to inflict only Toulouse's second home defeat in 26 matches.
But the French side launched one last desperate attack, which ended with Bath conceding a penalty deep in their left-hand corner, with James the guilty party.
The angle could not have been tighter, and it looked like it was too much for Skrela until, at the last moment, the ball swerved back inside the post to leave Bath contemplating what could have been.
Bath head coach Steve Meehan:
"There were a few odd decisions out there, notably the one where Toulouse were given a defensive scrum in front of their own line after Butch James was taken out by Yannick Jauzion.
"He would have scored from that close in, and it might have affected the outcome. We'll have to have a close look at the incident later.
"I'm disappointed for the players because we came here to play good rugby and they delivered that, scoring two tries and keeping Toulouse from crossing our line."
Toulouse: Medard, Donguy, Kunavore, Jauzion, Heymans, Skrela, Kelleher; Poux, Servat, Lecouls, Pelous, Albacete, Bouilhou (capt), Dusautoir, Sowerby.
Replacements: Human for Poux (50), Millo-Chulski for Pelous (60), Nyanga for Bouihlou (65).
Not Used: Lacombe, Belie, Fritz, Ahotaeiloa.
Bath: Abendanon, Maddock, Crockett, Berne, Banahan, James, Claassens; Flatman, Mears, Stevens, Harrison, Short, Hooper, Lipman (capt), Faamatuainu.
Replacements: Cheeseman for Berne (76), Stephenson for Banahan (60), Barnes for Flatman (41), Dixon for Mears (71), Bell for Stevens (74), Scaysbrook for Hooper (73).
Not Used: Bemand.
Ref: George Clancy (IRFU)