The Scarlets' backs were in fine form again
Scarlets: (11) 21
Tries: King, M Jones
Con: S Jones
Pens: S Jones (3)
Ulster: (6) 15
Pens: Humphreys (5)
Llanelli Scarlets' impressive form continued as they took Ulster's scalp in the Heineken Cup at Stradey Park.
Regan King claimed an early try and Mark Jones and Barry Davies went close, the home backs in electric form and the pack on top in scrum and line-out.
But Ulster's gritty defence and hard hitting back row took a toll, with David Humphreys booting 15 points.
A superb Jones try seemed to seal it, but Humphreys' accuracy kept the result in doubt and earned a bonus point.
With the territory and possession we had we could have got a few more tries and the bonus point
Scarlets captain Simon Easterby
The Scarlets enjoyed a dream start against the Magners League leaders, a strong scrum winning them position deep in the Ulster half.
The visitors' Kiwi centre Paul Steinmetz tried a clearance kick, but it was charged down by the Scarlets' own All Black, King, who gathered to sprint over unopposed.
The home side were showing adventure, running from deep in their own half and booting a kickable penalty to touch.
But repeated attacks failed to pay off when blind-side wing Jones knocked on as he crossed the line.
Ulster's defence left plenty of bruises on the Scarlets
Ulster full-back Bryn Cunningham went off with a worrying looking shoulder injury, replaced by Scott Young, before an excellent Stephen Jones up-and-under led to a penalty, converted by the new Wales captain.
That was cancelled out when a foolish late challenge on Humphreys by Inoke Afeaki gave the ex-Ireland outside-half his first penalty.
Scarlets hands on the floor soon gave Humphreys another chance, the 50m penalty converted with ease to make it 8-6.
A Stephen Jones grubber kick nearly led to a try, but Davies knocked on as he gathered and crossed the line.
The Llanelli side applied the pressure from a series of five-metre scrums, before Simon Best's introduction for Justin Fitzpatrick helped repel their attacks.
The home side had spurned kickable penalties for scrums, but another offence from the under-pressure visitors allowed Stephen Jones to convert and make it 11-6 with the last kick of the half.
Afeaki conceded a second silly penalty at the start of the second period, holding in the tackle to allow Humphreys his third kick.
The group is going to go the whole way and there are a lot of points still to play for
A Mark Jones burst then sparked a furious and sustained Scarlets onslaught, ending when the overlapping Dafydd James had the strength to stand in the tackle and release fellow-wing Jones for the try that he had started.
Ulster's impressively physical back row continued to hammer at the Welsh side, helping deliver two more Humphreys penalties to cut their deficit to three.
Stephen Jones missed one penalty before kicking one in front of the posts, but when replacement Scarlets prop Craig Dunlea was sin-binned for an early tackle the home team were left clinging on for victory.
Scarlets captain Simon Easterby:
"The bottom line was that we set out to win and we would have taken that result at the start of the game.
"But with the territory and possession we had in the first half we could have got a few more tries and the bonus point.
"We tried to work Stephen Jones into position for a drop-goal at the end to deny them a bonus point, but it wasn't to be.
"Anyone can beat anyone else in this group, it's going to go to the wire."
Ulster coach Mark McCall:
"The group is going to go the whole way and there are a lot of points still to play for.
"Llanelli have to play Toulouse twice. We have London Irish back-to-back and then the Scarlets come to Ravenhill.
"It's a completely different match from last week's win over Toulouse. It's very frustrating.
"We felt an onslaught in the first 20 minutes and then we slowly turned things round. At half-time we felt there was a game to be won."
Scarlets: B Davies; James, King, G Evans, M Jones; S Jones, Peel; I Thomas, Rees, Manu; Cooper, Afeaki; Easterby, G Thomas, Popham.
Replacements: Dunlea for Manu (53), A. Jones for Afeaki (74), N. Thomas for Popham (74).
Not Used: Gravelle, Stuart-Smith, C. Thomas, Watkins.
Ulster: Cunningham; Maxwell, Steinmetz, Wallace, Trimble; Humphreys, Boss; J Fitzpatrick, R Best, B Young; Harrison, McCullough; N Best, Ferris, Wilson.
Replacements: S. Young for Cunningham (23), Maggs for Wallace (64), S. Best for J. Fitzpatrick (40), Dawson for Ferris (73).
Not Used: Shields, Barker, Campbell.
Referee: Tony Spreadbury (Eng).