Pool Five/Touslouse 28 Ulster 13:Clement Poitrenaud's two tries salvaged some pride for the former European champions Toulouse.
In a match-up between the two also-rans in Pool Five, Poitrenaud scored in both halves as three-times champions Toulouse exited with a workmanlike display and Ulster crashed out of the tournament in the pool stages for the eighth straight season.
The last time they made the final eight - in the 1998-99 season - they won the trophy.
Toulouse, and France, suffered an early blow when Test scrumhalf Jean-Baptiste Elissalde was helped from the field in the fourth minute, but replacement Valentin Courrent made an immediate impact by supplying the crucial pass to put Poitrenaud over the try-line in the sixth minute.
Courrent added the extras, only to be powerless when the Ulster pack shoved their way over the line to level the scores.
Lock Matt McCullough, facing racial abuse charges at a judiciary hearing in Dublin on Wednesday, emerged from the pile of bodies with the ball and outhalf Paddy Wallace slotted the conversion.
A Courrent penalty goal gave the home side a 10-7 lead at half-time, but not before another France international, centre Florian Fritz, limped off to give national coach Bernard Laporte even more to worry about a fortnight from the start of the Six Nations.
Toulouse coach Guy Noves sent on frontrowers Omar Hasan and William Servat as the second half kicked off, but Ulster had the first say with a Wallace penalty goal.
Courrent reclaimed the lead with his third goal of the match, before opposing locks Trevor Brennan and Justin Harrison earned 10-minute spells in the sinbin for trading punches. When Brennan's 10 minutes were up Toulouse coach Guy Noves replaced him with Jean Bouilhou. Brennan, who was introduced as substitute in the 48th minute, also clashed with Ulster fans during the game.
Wallace's boot was keeping the visitors in touch, but a breakaway try from Poitrenaud gave his side a seven-point lead as the game entered its final 15 minutes.
Courrent continued to rack up the points with another penalty goal, and backrow Yannick Nyanga sealed the victory with a try in the 74th minute as both sides said goodbye to this season's tournament.
Ulster coach Mark McCall, who was furious with the referee's decision to sin-bin Harrison, said his side would now concentrate on defending their Magners Celtic League crown.
"We're on top of the league with eight games to go, so we're now looking at next week's game against the Ospreys.
"This is a young, ambitious, hungry squad who weren't good enough this season, but they'll be back next year."
SCORERS: Toulouse: Tries: Poitrenaud 2, Nyanga. Cons: Courrent 2. Pens: Courrent 3. Ulster: Tries: McCullough. Cons: Wallace. Pens: Wallace 2. Attendance: 12,000.
TOULOUSE: Poitrenaud, Clerc, Jauzion, Fritz, Heymans, Du Toit, Elissalde, Human, Bru, Poux, Millochlusky, Albacete, Nyanga, Dusatoir, Lamboley, Brennan. Replacements: Thomas for Clerc (67), Medard for Fritz (28), Courrent for Elissalde (5), Hasan for Human (40), Servat for Bru (40), Brennan for Millochlusky (48), Bouihlou for Brennan (67).
ULSTER: Bartholomeusz, Bowe, Trimble, Steinmetz, McKenzie., Wallace, Campbell, B. Young, R. Best, S. Best, Harrison, McCullough, N. Best, Dawson, Wilson. Replacements: Maggs for McKenzie. (68), J. Fitzpatrick for B. Young (58), Barker for McCullough (48), Ferris for Wilson (68). Not Used: Shields, Boss, Larkin.
Referee: Tony Spreadbury (Bristol).