Pool Five leaders Ulster stretched their Heineken Cup winning run to five games after seeing off a weakened but battling Montpellier 27-16 at Ravenhill.
But Ulster failed to secure a try bonus ahead of what looks likely to be next week's showdown at Leicester to decide who finishes top of the group and secures a home quarter-final.
With the Tigers expected to come away from Treviso on Saturday with a winning bonus point, Ulster were seeking their own maximum points haul to at least secure a place in the last eight but fell short with tries from Robbie Diack, Ruan Pienaar and John Afoa.
Pienaar led the scoring for Ulster with 17 points - he also added three conversions and two penalties - while Eric Escande kicked 11 points for the visitors who had nothing but pride to play for.
Pienaar was wide with a second minute penalty shot but Montpellier scrum half Escande got his first shot between the posts four minutes later after Nick Williams was penalised.
Surprisingly leading 3-0, the French - with nothing to play for in Pool Five - then began to deliver a much more composed performance than their opponents and Escande was unlucky to fall just short with an even longer range penalty attempt on 16 minutes.
Momtpellier out-half Enzo Selponi was then wide with a drop goal attempt as Ulster struggled to impose themselves on the game.
Then, out of a rare sortie into Montpellier territory, Paddy Jackson put in a stunning cross-kick which was taken on the left wing by Diack whose momentum took him through Lucas Dupont, with the 24th minute score being awarded by the TMO.
Pienaar then landed a marvellous conversion and Ulster had the lead 7-3 which two minutes became 14-3 after Pienaar followed up his own kick through, which had caused chaos in the Montpellier scramble defence, to touch down.
The South African then converted his own score and Ulster looked on their way but the French struck back and after Charles Geli burst away from a lineout maul and second row Robins Tchale-Watchou scored in the corner on the half hour mark.
Escande then converted and Ulster's lead was cut to 14-10 but Pienaar struck back five minutes later with a penalty to stretch the lead to seven points.
But again Ulster made an error just on half-time after Alexandre Bias was taken out at a lineout and Escande landed the penalty to cut Ulster's lead to 17-13 at the break.
The home side needed a good start to the second half and got it as Pienaar landed his second penalty just after the restart and Ulster were seven points in front again.
But the French refused to lie down and after they won a scrum penalty, Escande landed his third penalty to narrow the home side's lead to 20-16.
Ulster then fumbled the ball on the Montpellier line after a rare threatening attack which saw Jackson chip through for Darren Cave with the net result that Craig Gilroy retired hurt.
But Ulster did manage to strike next and after a PIenaar kick had hit some open space, Jared Payne's flick found Afoa and he trundled in near the posts.
Pienaar added the extras and Ulster - leading 27-16 - now sensed a bonus point win.
But, such was the topsy-turvy nature of this game, that Escande had another penalty chance in the 65th minute though fortunately for Ulster it glanced off the post and stayed out.
Two minutes later and Pienaar made it over after a Benoit Paillaugue fumble but a last-ditch Pierre Berard tackle prevented him getting the bonus point touchdown.
Substitute Michael Allen then had a chance in the 72nd minute but the TMO rightly ruled that he was just put into touch in the left corner.
The remainder of the game was all about Ulster trying to get over the French line but they just could not get the fourth try.