Ulster knocked La Rochelle off top spot in European Champions Cup Pool One with a hard-fought 20-13 win over the French side at a wet and windy Kingspan Stadium on Saturday.

Captain and man of the match Rory Best, Jacob Stockdale and Nick Timoney scored tries for Les Kiss' side, giving them a one-point lead at the top of the group and in a good position to qualify for the quarter-finals for the first time since 2014.

The Irish province can finish as pool winners if they triumph with a bonus point at Wasps in next weekend's final round of games.

But Ulster's failure to gain a maximum-point triumph, along with the French team managing a vital losing bonus point - thanks to a try, conversion and two penalties from scrum-half Alexi Bales - meant La Rochelle remained in the mix ahead of their home game against Harlequins, who beat Wasps later in the evening. 

"It was a great turnaround from Ulster," former Ireland international Paddy Wallace told RTÉ Radio 1's Saturday Sport.

"I expected them to do it today after a miserable Christmas period. They fronted up, they executed a lot better. 

"Physically, they were on a par with La Rochelle so all credit to Les Kiss and his staff for putting in a performance that was much needed."

Bales opened the scoring with an ninth-minute penalty after huge early pressure from La Rochelle had nearly put Vincent Rattez in from a Jeremy Sinzelle cross-kick.

That became 6-0 on 16 minutes after Ulster were penalised at a lineout and Bales landed the kick.

The visitors were then reduced to 14 men when replacement winger Paul Jordaan was yellow-carded by Wayne Barnes for hitting Charles Piutau in mid-air in the 22nd minute.

Ulster took advantage of their numerical superiority and, after Christian Lealiifano - playing his final home game for Ulster - put a penalty into the corner, the lineout was secured and Best got on the back of an irresistible maul to score on 28 minutes.

John Cooney missed the conversion, leaving Ulster trailing by a point, which was how it stayed until Jordaan's return.

Ulster got their noses in front five minutes before half-time.

After some good approach work from their pack, the ball was thrown wide, with Louis Ludik's scoop allowing Stockdale to pick up and charge over in the right corner after swatting three defenders.

Cooney again failed to add the extras following the Ireland winger's score, but the home side took their 10-6 advantage into the interval.

The game erupted into life with two tries in three minutes - one for each team - early in the second period.

First, Bales scored near the posts after Victor Vito's break had carved Ulster open to take the visitors back into the lead, with the scrum-half'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 45 minutes.

Cooney's conversion put Ulster 17-13 up and that became 20-13 when the scrum-half added a 49th-minute penalty.

The remainder of the game was mostly dominated by Ulster, but neither side managed any further scores.

Ulster: C Piutau; C Gilroy, L Ludik, S McCloskey, J Stockdale; C Lealiifano, J Cooney; C Black, R Best (c), R Ah You; A O'Connor, I Henderson; M Rea, S Reidy, N Timoney.

Replacements: R Herring (for Best, 73), K McCall (Black, 58), R Kane (Ah You, 64), K Treadwell (Rea, 58), C Henry (Reidy, 64), D Shanahan, J McPhillips (Lealiifano, 73), D Cave (Gilroy, 27).

La Rochelle: K Murimurivalu; G Lacroix, G Doumayrou, P Aguillon, V Rattez; J Sinzelle, A Bales; D Priso, P Bourgarit, U Atonio, J Eaton (c), M Tanguy, L Botia, K Gourdon, V Vito.

Replacements: Jean-Charles Orioli (Bourgarit, 64), V Pelo (Priso, 64), M Boughanmi (Atonio, 64), G Lamboley (Tanguy, 64), A Amosa (Vito, 64), T Kerr Barlow (Bales, 61), B Nobles (Jordaan, 65), P Jordaan (Lacroix, 11).

Listen to live and exclusive radio commentary of Racing v Munster (Sunday 3.15pm) on RTÉ Radio 1.