Ulster found themselves all but eliminated from the European Rugby Champions Cup at the end of a pulsating encounter this evening at Sandy Park, where two tries from Charles Piutau and one from Sean Reidy fell short of taming a rampant Exeter Chiefs side.
Ulster's attack was at times irresistible, with Piutau, deployed on the wing, a constant threat, but the Exeter backs - Jack Nowell and Michele Campagnaro in particular - were more than a match for their opposite numbers, and the ever-reliable Tom Waldrom chipped in two close-range tries to seal the victory.
Both sides can go into Round Six with a very slim sliver of hope for qualification to the last eight - Ulster must pick up five points at home to Bordeaux-Begles and Chiefs will need to do the same away to Clermont, but both will need an unlikely series of other results to go their way in order to proceed.
Ulster Director of Rugby Les Kiss implemented three personnel changes from the side that had gone down against the Scarlets in Llanelli, bringing in Pete Browne at lock, Piutau on the wing and David Shanahan at scrum-half for his first full cap.
Elsewhere Louis Ludik reverted to full-back with captain Andrew Trimble on the left wing, while the tandem of Luke Marshall and Stuart McCloskey continued in the centre, with Paddy Jackson starting again at 10.
Up front Ross Kane made his European bow at tighthead alongside Callum Black and Rory Best, with Kieran Treadwell partnering Browne in the second row, and Iain Henderson shifting to the back row to team up with Chris Henry and Reidy.
The home fixture at Kingspan Stadium back in October was a tight affair with Ulster running out victors by a single point, and an entertaining first half followed much the same pattern.
The visitors made the best possible start when McCloskey burst through the centre off the lineout and found Reidy one-handed for a third-minute try.
Fifteen minutes of Exeter possession yielded little in the way of chances until, with a penalty coming, quick hands from Ulster exiles Gareth Steenson and Ian Whitten made the space for Campagnaro, whose impressive turn of pace left Best for dead and carried the Italian over to restore parity.
As the Chiefs pressed again from a close-range ruck, the TMO was called upon to adjudicate on two close calls, firstly as Mitch Lees piled over with the Ulster defence fighting to hold him up - verdict no try - and again from the resulting five-metre scrum as Number Eight Waldrom used all his bulk and guile to bludgeon his way to the line then execute a swivel to get the ball to ground. This time the evidence of the touchdown was conclusive, and Steenson gratefully added the extras.
Kane's European debut ended prematurely on 33 minutes with an apparent recurrence of a recent knee injury, and as Jonny Simpson entered the fray the Ulster equaliser came from almost nowhere, with Piutau's dancing feet creating the space down the left wing as both Nowell and Waldrom ended up bamboozled on the turf. Jackson converted to send the teams off at the break with honours even.
Half-Time Score Exeter Chiefs 12 Ulster 12
Chiefs came out for the second half all guns blazing, camping on the Ulster five-metre line and only deprived of a try from a 45th-minute rolling maul by some resilient defence from the Ulster pack. Henderson did well to temporarily prevent Campagnaro's second try of the evening by getting himself under the centre as he attempted to bundle over moments later, but there was no stopping Waldrom on 50 minutes as he dove for the line off the back of a ruck.
Steenson's conversion was quickly followed by the bonus-point score - Campagnaro again the author, but Phil Dollman's lightning-quick pass and Nowell's tricky footwork made the try just as aesthetically pleasing as Piutau's first-half effort had been.
Despite the two quick concessions Ulster refused to give up the ghost and, once they eventually broke into the Exeter half just before the hour mark, smart play off the rolling maul and a measured kick to the corner from Jackson with the penalty imminent found Piutau to register the third brace of the game.
A mere five points adrift with 18 minutes to play, Ulster came close straight away with Jackson and Piutau combining dangerously down the left and Shanahan only just beaten to the line by Jack Yeandle as the two chased Jackson's dink towards the posts.
Steenson failed to give the hosts some extra breathing space as he fired a penalty wide with 10 minutes to go, but 90 seconds later the match was as good as over when referee Romain Poite penalised Jackson for a deliberate knock-on of Nowell's pass inside the '22' as three Chiefs lined up on the right wing for the final ball. Jackson saw yellow for the same infringement as he committed in Round Four at Clermont, and the award of the penalty try sealed the result - and most likely the end of the Ulster European challenge for 2016/17.
Qualification for the last eight is now virtually a mathematical impossibility, but Ulster can still close out their pool stage on a high note next Saturday afternoon when they welcome Bordeaux-Begles to the Kingspan Stadium - and there is still an outside chance of finishing as third-best runners up if luck is on their side.
Full-Time Score Exeter Chiefs 31 Ulster 19
Exeter Chiefs (15 - 9) Phil Dollman; Jack Nowell, Michele Campagnaro, Ian Whitten, Olly Woodburn; Gareth Steenson (c), Dave Lewis
(1 - 8) Ben Moon, Luke Cowan-Dickie, Greg Holmes, Mitch Lees, Jonny Hill, Tom Johnson, Don Armand, Tom Waldrom
Replacements (16 - 23) Jack Yeandle, Moray Low, Harry Williams, Dave Dennis, Kai Horstmann, Stu Townsend, Joe Simmonds, Ollie Devoto
Ulster (15 - 9) Louis Ludik; Charles Piutau, Luke Marshall, Stuart McCloskey, Andrew Trimble (c); Paddy Jackson, David Shanahan
(1 - 8) Callum Black, Rory Best, Ross Kane, Kieran Treadwell, Pete Browne, Iain Henderson, Chris Henry, Sean Reidy
Replacements (16 - 23) John Andrew, Andy Warwick, Jonny Simpson, Franco van der Merwe, Clive Ross, Paul Marshall, Brett Herron, Jacob Stockdale