A pleased Scarlets coach Nigel Davies said afterwards: "I'm very pleased - it's been frustrating that we've only been performing for half a game, but that was a full 80 minutes.
"It was a must-win game and for them to go out and play like that with that pressure on was magnificent. The youngsters are growing in confidence game by game.
"It builds momentum. We had a purple patch after Christmas followed by a few setbacks, but that was a great win against a very good Ulster side."
Ulster started brightly with centre Darren Cave making an eye-catching run which could have led to a score, but the Scarlets were first to get off the mark.
The game was just three minutes' old when regional debutant Joe Ajuwa thundered towards the Ulster try-line on the right, only to be denied by a last-gasp tackle from Ulster number 10 Ian Humphreys.
The Scarlets recycled quickly and spread the ball out to the left where the pacy Andy Fenby was able to finish off in the corner, with Priestland adding the conversion.
Ulster bounced back and flanker Dan Tuohy had a try disallowed for a forward pass after he had overrun hooker Nigel Brady on a support run.
Brady was dumped in the build-up by Ajuwa and the Nigerian-born winger was penalised for his challenge. Ulster opted to kick the penalty to touch, but a knock-on off the next phase brought the move to a shuddering halt.
Errors were beginning to prove costly for Ulster and when they allowed big Scarlets number 8 David Lyons some leeway off the back of a scrum, he took it to advance forward and flip a back-handed pass to Knoyle who broke away from Tuohy's grasp and scored from 30 metres out.
Priestland missed the conversion but tagged on a penalty for a 15-0 buffer as the increasingly impressive Scarlets began to dominate and Ulster tried desperately to hit back on the scoreboard.
Humphreys, who had missed a drop goal attempt, opened his side's account in first half injury-time from a long range penalty.
Ulster boss Brian McLaughlin had the visitors firing on all cylinders for the start of the second half and they grabbed their only try of the encounter after just 86 seconds' play.
Scrum half Isaac Boss was the instigator with a neat show-and-go and South African international BJ Botha made the hard yards before Wallace took it on and crashed over from close range.
Humphreys' conversion attempt was off target and the Scarlets, with Ulster losing Pollock to the sin-bin for killing the ball, kept the scoreboard ticking over with a second penalty from Priestland.
Ulster missed out on a decent attacking chance when a knock-on was called by referee Peter Allan and McLaughlin's charges endured an ultimately frustrating evening, as they missed out on recording their first league double over the Scarlets.
For the final half-hour the home side introduced Wales and Lions hooker Matthew Rees who is topping up his match fitness after time out with a groin injury.
Try number three arrived for the Scarlets on the hour mark when following a flurry of forward phases, Priestland broke on the outside and then nipped back inside, avoiding full-back Jamie Smith's grasp, to notch a well-taken seven-pointer.
Ulster were cut to 14 players again, ten minutes from the finish, when Caldwell saw yellow for coming in at the side of a ruck.
But despite their numerical advantage, the Scarlets missed out on a bonus point as Ulster, who have slipped from sixth to seventh in the table, survived a late onslaught.
|Scarlets Score Card|
|Ulster Rugby Score Card|