Ulster are still not guaranteed a Heineken Cup quarter-final place after missing out on a bonus point in their Pool Five win over Montpellier.
Tries from Robbie Diack and Ruan Pienaar moved Ulster 14-3 ahead before Robins Tchale-Watchou's score helped cut the margin to 17-13 at the break.
John Afoa's try brought Ulster to within one touchdown of a bonus point.
However, late pressure did not yield a fourth try which set up the prospect of a pool decider in Leicester next week.
Leicester will pip Ulster for top spot in the pool if they earn a bonus-point win over Treviso in Italy on Saturday and then beat the Irish province next weekend.
With out-of-contention Montpellier in the midst of poor run of form and also without several big names including Nicolas Mas, Francois Trinh-Duc and Jonathan Pelissie, table toppers Ulster went into Friday's game with odds of 1-33 to win.
However, the home side produced a nervous opening as Pienaar, uncharacteristically, missed a straightforward fourth-minute penalty before Eric Escande kicked the Top 14 club into the lead.
The Montpellier defence's fast line-speed appeared to unsettle Ulster early on with the home team's momentum also inhibited by Nick Williams conceding a couple of penalties.
Escande missed a chance to extend Montpellier's lead from long range before a frenetic period of play as both teams attempted to attack from deep after fielding long clearances.
Somewhat against the run of play, Ulster took the lead on 24 minutes as Diack fielded a superb cross-kick from Paddy Jackson before brushing off Lucas Dupont to score in the corner.
Pienaar added the difficult conversion and he was the try-scorer three minutes later as the unlucky Dupont was unable to control the Ulster scrum-half's own chip over the defence as the ball squirmed from underneath his body and allowed the South African a simple touchdown.
Another successful Pienaar conversion extended Ulster's lead to 14-3 but Montpellier hit back within three minutes as Charles Geli's 20-metre charge deep into the home 22 set up Tchale-Watchou to score.
Escande added the difficult conversion and while another Pienaar penalty extended Ulster's lead to 17-10 in the 36th minute, the Montpellier kicker replied in kind with a long-range effort in injury-time.
Pienaar and Escande kicked penalties at either end after the restart which left Ulster still four ahead after 49 minutes.
However, Pienaar's kick over the defence bounced horribly for Escande and sat up perfectly for prop Afoa to charge over the line to score Ulster's third try in the 57th minute.
Pienaar added the conversion as Ulster had moved to within one try of the bonus-point win which would guarantee a quarter-final place.
As Ulster desperately chased their fourth try, Pienaar was held up by replacement Pierre Berard and Michael Allen was then bundled into touch in the corner as he attempted to reach over the line before time ran out.
Ulster remain strong favourites to progress to the last eight and could even have qualification in the bag at the conclusion of this weekend's action but this was not one of their better displays.
Ulster: J Payne; A Trimble, D Cave, L Marshall, C Gilroy; P Jackson, R Pienaar; T Court, R Best, J Afoa; J Muller (Captain), D Tuohy; R Diack, C Henry, N Williams. Replacements: R Herring for Best 71, C Black for Court 60, D Fitzpatrick for Afoa 62, I Henderson for Muller 62, R Wilson for Williams half-time, S Doyle for Henry 71.
Not used: P Marshall, M Allen.
Montpellier: A Floch; Y Artru, A Tuitavke, T Combezou, L Dupont; E Selpone, E Escande; N Leleimalefaga, C Geli (capt), M Bustos; M Demarco, R Tchale Watchou; K Galletier, A Bias, J Beattie. Replacements: M Nariashvili for Leleimalefaga 62, P Fa'amausili for Bustos 62, M Ivaldi for Tchale Watchou 79, F Quercy for Galletier 3, P Berard for Floch 60
Not used: T Nagusa, T Bianchin, B Paillaugue.
Referee: Wayne Barnes (RFU)