Ulster 20 La Rochelle 13
It was tailor-made for Ulster really, a wet and numbingly-cold afternoon in Belfast evoking all the glory days of when French sides almost traditionally came over and crumpled.
And, in many regards, this was exactly what La Rochelle did even though they did make off with a losing bonus point which may yet see them through while Ulster could be left to rue their failure to nail a fourth try after a strong finish.
Maybe, but the Top 14 side have lost what once looked like an irresistible grip on Pool One and should Ulster take maximum points next weekend against Wasps at the Ricoh Arena, it will be Les Kiss’s side who top the group and make it through to the last eight for the first time since 2014.
The fact that it has come to this was all down to a heady combination of Ulster’s indomitable will not to succumb to what could easily have been a season-wrecking result, allied to La Rochelle’s now rather familiar flakiness when away from home.
Indeed, the visitors had control of the game but gradually lost their way from Paul Jordaan’s first half yellow card onwards and failed to gain an adequate return from their clearly superior scrum and generally more dynamic work at the breakdown.
Ulster, though, stuck to the task and tries from skipper and man of the match Rory Best, a hugely significant score just before half-time from Jacob Stockdale and then an immediate response touchdown from Nick Timoney - just after Alexi Bales had scored at the start of the second half - got the northern province home.
Ulster's early statement of intent was well off the mark as the opening exchanges were dominated by the French. After Jeremy Sinzelle's cross-kick was too high for Vincent Rattez, Wayne Barnes called the play back for a penalty which Bales landed after eight minutes.
Christian Leali’ifano - playing his last home game before returning to the Brumbies - then went for the corner from a penalty into the wind only to miss touch which compounded Ulster’s early issues. And it was little surprise that the French came down the pitch again for Bales to land his second penalty from a lineout infringement on 15 minutes.
Ulster then appeared to get a break when replacement Jordaan was yellow-carded by Wayne Barnes for apparently taking Charles Piutau out in the air though it did appear that the Kiwi had been responsible for the collision with the winger.
Still, Ulster seized their chance and shortly afterwards, after Leali’ifano had put a penalty into the corner, Best was on the end of a driving maul following Alan O’Connor’s take to dot down.
Cooney couldn’t land the tricky conversion of his skipper’s 27th minute score though and Ulster trailed 6-5 until Jordaan’s return.
Then the home side got another break when Stockdale, with no space and off a slow scooped pass from Louis Ludik, stood up and smashed through Geoffrey Doumayrou and Vincent Rattez before charging through Bales to make the right corner with five minutes until the break.
Though Cooney missed the difficult conversion, Ulster now had the lead - 10-5 - as the sides trooped off for the interval.
The game then came to life with two tries in two minutes after the restart. Firstly, Bales scored near the posts, after Victor Vito’s break had carved Ulster open to take the visitors back into the lead with the scrumhalf’s conversion of his own try making it 13-10 to La Rochelle.
But Ulster immediately hit back when replacement Darren Cave latched onto a spilled ball in La Rochelle's 22 to put Timoney in space and the number eight did well to drive over after 44 minutes.
Cooney’s conversion put Ulster 17-13 up and that became 20-13 when Cooney added a 49th minute penalty.
The French managed to butcher a clear scoring chance after a series of scrum penalties around the hour mark and the significance of surviving this gave Ulster renewed life and belief to go on and win though without crossing the French line for a fourth time.
Scoring sequence: 3 mins Bales pen 0-3; 15 mins Bales pen 0-6; 27 mins Best try 5-6; 35 mins Stockdale try 10-6; half-time 10-6; 42 mins Bales try 10-11; Bales con 10-13; 44 mins try Timoney 15-13, Cooney con 17-13; 49mins Cooney pen 20-13.
Ulster: C Piutau; C Gilroy, L Ludik, S McCloskey, J Stockdale; C Lealiifano, J Cooney; C Black, R Best (captain), R Ah You; A O'Connor, I Henderson; M Rea, S Reidy, N Timoney. Replacements: D Cave for Gilroy (25 mins), K McCall for Black and K Treadwell for Rea (both 57 mins), R Kane for Ah You and C Henry for Reidy (both 63 mins), R Herring for Best and J McPhillips for Leali'ifano (both 72 mins). Not used: D Shanahan
La Rochelle: K Murimurivalu; G Lacroix, G Doumayrou, P Aguillon, V Rattez; J Sinzelle, A Bales; D Priso, P Bourgarit, U Atonio; J Eaton, M Tanguy; B Veivuke, K Gourdon, V Vito. Replacements: P Jordaan for Lacroix (10 mins), T Kerr Barlow for Bales (60 mins), J-C Orioli for Priso, V Pelo for Bourgarit, M Boughanmi for Atonio, A Amosa for Vito,( all 63 mins), G Lamboley for Tanguy and B Nobles for Aguillon (both 64 mins).
Yellow card: Jordaan (22-32 min)
Referee: W Barnes (RFU)