A Robert Baloucoune hat-trick ensured Ulster return to Ravenhill for the second leg of their round-of-16 tie against Toulouse with a six-point advantage after the defending champions were reduced to 14 players for 70 minutes.
But the Irish province were forced to deal with an unlikely late onslaught after Romain Ntamack's 78th-minute score dragged Toulouse right back into a tie they looked to be out of.
With the majority of a 31,000-strong crowd on his back, referee Wayne Barnes – who was escorted off the pitch at the end of the match – had no choice but to send off Juan Cruz Mallia after he had taken out Ulster winger Ben Moxham in the air after 10 minutes of a match played at a punishing pace.
Ireland international Baloucoune’s triple – two of them coming early in each half and his third 13 minutes from time via an interception deep inside his own 22 – were complemented by a short-range blast over from replacement Andy Warwick just before the hour.
But Ntamack’s comeback score, following a frantic period of late pressure, meant the defending champions remain within touching distance heading into next Saturday’s second leg.
Out-of-touch Toulouse headed into the match on the back of three wins from their past 11 outings, but with seven of France’s Grand Slam-winning internationals in their ranks.
And Emmanuel Meafou’s seventh-minute try proved they were not about to give up their title easily.
Even after Mallia was sent off, they refused to shut up shop and repeatedly stretched the Ulster defence to breaking point without being able to find the killer touch.
Ulster were on level terms six minutes after Meafou’s opener, Baloucoune jogging in after forwards Nick Timoney, Marty Moore and Duane Vermeulen had punched repeated holes in the hosts’ defensive line.
But two Thomas Ramos penalties – the second on the stroke of half-time – gave the Top 14 side a 13-7 lead at the break.
Neither side was willing to let up the frantic pace in the second half.
Five minutes in, after some fine work from the pack, the ball was spun wide – where Baloucoune was lurking in far too much space. John Cooney missed the conversion, which kept Toulouse in the lead by a point.
Toulouse thought they had increased their advantage in spectacular style minutes later as Matthis Lebel dotted down after Ntamack’s break almost the length of the pitch away. But they were called back for a knock-on and just the second scrum of the match. The first had come in the 39th minute.
Warwick’s touchdown, converted by Cooney, took Ulster into the lead for the first time.
And Baloucoune’s third – which the increasingly vocal and angry crowd were convinced was offside – was enough to settle the matter, despite Ntamack’s late score and Ramos’ break deep into Ulster territory from the following kick-off.
Toulouse: Thomas Ramos; Juan Cruz Mallía, Zack Holmes, Pita Ahki, Matthis Lebel; Romain Ntamack, Antoine Dupont (capt); Rodrigue Neti, Peato Mauvaka, Dorian Aldegheri; Rory Arnold, Emmanuel Meafou; Rynhardt Elstadt, Thibaud Flament, Francois Cros.
Replacements: Guillaume Cramont, Cyril Baille, Charlie Faumuina, Richie Arnold, Anthony Jelonch, Alban Placines, Martin Page Relo, Sofiane Guitoune,
Ulster: Mike Lowry, Robert Baloucoune, James Hume, Stuart McCloskey, Ben Moxham, Billy Burns, John Cooney; Eric O'Sullivan, Rob Herring, Marty Moore, Alan O'Connor, Iain Henderson (capt), Marcus Rea, Nick Timoney, Duane Vermeulen.
Replacements: Brad Roberts, Andrew Warwick, Tom O'Toole, Kieran Treadwell, Jordi Murphy, Nathan Doak, Luke Marshall, Rob Lyttle.
Referee: Wayne Barnes (RFU)