Scarlets 24 Ulster 25 (try bonus point)
Ulster produced an impressive display to keep their European Champions Cup hopes alive in Pool Four with a hard earned win at fortress Parc y Scarlets over the Welsh region.
Having secured a try scoring bonus point on 64 minutes, Ulster were left sweating when Scarlets scored a converted try with a minute to go making it a one point game.
Scarlets ran the ball from the restart, but after four minutes added time Ulster finally forced the penalty error and sent themselves into second place in the standings, level on points with leaders Racing 92.
Scarlets took a first minute least with a Rhys Patchell penalty, but Ulster exploded into life quickly with some penetrating runs, Henry Spieght rushing through on a grubber kick from Billy Burns to get the visitors into good position.
After five minutes the pressure paid off and although a try would have been better reward, John Cooney slotted over a penalty to level the scores.
It swung from end to end, but another live break by Ulster saw international winger Jacob Stockdale power his way over for a try on nine minutes - his 25th in 36 matches in all colours and competitions.
Cooney's conversion attempt and a subsequent long range penalty effort both were caught in the strong swirling wind - but still an 8-3 lead at this point was well deserved.
The hosts were far from done, and a well worked move exposed Ulster on the left with Steff Evans crossing for a try and Patchell converting to put them 10-3 ahead after 25 minutes.
However, Ulster kept their focus, pressed again and deservedly went in at the break leading 10-13 after Speight, making his European debut, crossed in the corner.
Cooney's difficult conversion attempt failed but Ulster found themselves in the unusual position of leading a game at the break - and it was very different from the 20-7 they had trailed a fortnight ago when the sides met in the Guinness PRO14.
The Scarlets fired a warning shot immediately after the restart, centre Jonathan Davies making a huge break through the cover and only great scrambling defence from Speight took the sting out of the initial danger.
Although it had been an overly scrappy opening from both sides to the second half, Ulster began to get an edge. The pack won a scrum penalty, then secured the lineout from which they went through phases and centre Will Addison charged through the crowd and under the posts for a try. Cooney's second successful kick of the evening had Ulster 20-10 ahead.
The Scarlets fired again - led by that man Jonathan Davies again - and should have done better when they broke down the left with a three on two, but again the Ulster defence scrambled well to snuff out the scoring opportunity.
And as the red shirts continued to put Ulster under the pump, who else under their own posts wins a vital turnover but captain Rory Best.
Addison was right up the faces of the Scarlet midfield, forcing a mistake, and Speight went chasing a second try as a ball was kicked ahead, but Scarlets replacement Hadliegh Parks was able to gather.
But the Scarlets pressed again and fullback Johnny McNicholl took advantage of some slack visiting defending to send Evans in for his second try of game on the hour mark. Patchell's conversion reduced the arrears to three points.
Ulster's response was positive, replacement Nick Timoney - who had come on in the first half for Sean Reidy (HIA) - the ball came right and Stuart McCloskey was held up short, but it was recycled and number eight Marcell Coetzee went over in the corner, the try bonus point securing try awarded following a TMO review. Cooney's difficult touchline conversion shaved the wrong side of the top of the left pole.
Rob Herring and Tom O'Toole came into the fray at 69 minutes, for Best and Marty Moore respectively, both front row men having put in two huge shifts.
Scarlets looked all out of ideas at this stage, the Ulster defence herding them from side to side through 15 phases.
The Welsh side looked as though they had parted the defensive White sea, Evans going through for his hat-trick, but Speight and Louis Ludik bundled him into tough inches from the line and when they butchered a golden opportunity with a two-man overlap on in the 78th minute, one felt their goose was cooked.
But replacement Dan Davis managed to squeeze over in the corner and a superb conversion from Dan Jones, put one point between them with less than a minute remaining.
The restart from replacement Johnny McPhillips was deep, forcing Scarlets to attack from deep with the clock in the red. Four minutes later Scarlets conceded the penalty and Ulster celebrated a first win away against the Welsh side in six years.