Scrum-half John Cooney scored 30 points as Ulster beat Scarlets in a 12-try thriller at Parc y Scarlets.
The Irish province always had the edge but Scarlets challenged them throughout, although their cause was not helped by yellow cards for Sam Costelow and Vaea Fifita.
Cooney scored two tries, Alan O'Connor, Martin Moore, Marcus Rea, Billy Burns and Tom O’Toole the others with Cooney converting all seven and adding two penalties.
Dafydd Hughes crossed twice for Scarlets while Jonathan Davies, Ryan Conbeer and Fifita were also on the try-scoring sheet.
Costelow converted three of them and kicked a penalty with Rhys Patchell adding a penalty and a conversion.
Ulster's start was impressive as they produced five minutes of superb ball retention.
Jacob Stockdale and Stuart McCloskey made huge dents in the home defence before O’Connor crashed over to reward their slick handling.
There was to be no immediate let-up for Scarlets as the Irishmen continued in similar vein, forcing the hosts into making countless tackles before Moore forced his way over.
The Welsh region looked in danger of being overrun but they scored with their first excursion into the opposition half.
Ioan Nicholas created the space for Jonathan Davies to squeeze in and moments later they stunned Ulster by picking up a second when a burst from Sione Kalamafoni gave Conbeer the chance to race over.
Costelow missed the conversion but succeeded with a penalty to put his side in front before he was sin-binned for a dangerous challenge on Aaron Sexton.
It was the outside half’s second yellow card in consecutive games with Sexton having to be replaced.
Ulster capitalised with two converted tries in quick succession.
First Michael Lowry sent Cooney in under the sticks before the full-back again made the running to set up the bonus-point try for Marcus Rea.
Costelow returned after the interval in time to see Fifita intercept and run 45 metres to score before Cooney kicked a penalty and then converted a try from Burns.
Tries continued to come thick and fast with Hughes finishing off a driving lineout for the bonus point with Cooney scoring his second and Ulster’s sixth.
Hughes grabbed his second before Patchell added a penalty but a yellow card for Fifita for a deliberate knock-on put an end to Scarlets’ hopes.
Cooney kicked the resulting penalty and O’Toole had the final say for Ulster with their seventh try.