Daniel Evans helps Jonathan Davies celebrate his second try
The Scarlets fought back from 22-10 down to keep their faint Heineken Cup quarter-final hopes alive, denting London Irish's hopes in the process.
Two tries apiece from flanker Rob McCusker and centre Jonathan Davies paved the way for the bonus point win.
The Exiles led 15-10 at the break after tries by wing Tom Homer and hooker David Paice. Chris Hala'ufia added a third in the 50th minute.
But the hosts produced a storming finish to deny Irish a bonus point.
That could prove costly in the final analysis, with the Exiles now needing to beat Leinster with a bonus point at Twickenham next Saturday, and deny the defending champions any points, if they are to top the pool.
Rees Priestland's first of three failed first-half attempts at goal came in the second minute and moments later he could only watch as Exiles wing Homer crossed wide out.
The opening score came after Peter Hewat's kick ahead proved the launch-pad for a superb move that ended with back-row trio Hala'ufia, Richard Thorpe and Steffon Armitage combining to free the wing.
Ryan Lamb missed the conversion and the Scarlets hit back in the ninth minute, wing Andy Fenby rounding Homer before sending Davies over.
Priestland converted but the roller-coaster nature of the contest continued as Exiles number eight Hala'ufia battered his way past two lines of defence to set up Paice for a 16th- minute try that Lamb converted.
The fly-half added a penalty in the 29th minute, Priestland replying in the 39th after missing a shot a minute earlier to leave the visitors 15-10 ahead at the break.
Priestland missed another shot at goal seven minutes after the interval and saw Hala'ufia extend his side's lead with another power-play try that Lamb converted.
The home fly-half showed his footballing talent with a skilful kick-and-chase effort that failed to bring any tangible award as they trailed 22-10.
However, that counter-attacking spirit was evident throughout Scarlets ranks and when Lamb let fly with a loose kick the hosts needed no second invitation.
They ran the ball back at the visitors and blind-side flanker McCusker produced a telling turn of pace as he burst clear to score with 17 minutes remaining.
Six minutes later the north Walian used power to crash over to level and Priestland converted to put the hosts ahead.
The home pack often struggled at the scrums, but Australian skipper David Lyons proved more than up to the task and at the line-out, the Exiles' reputation took a dent.
As the game drew to a close, the Scarlets took a stranglehold on possession and produced a brave final play that ended with Wales Six Nations hopeful Davies making the most of a tiring Exiles defence to score.
Priestland's conversion ensured the visitors were unable to even claim a bonus point, while the Scarlets could still enter the mix for a best runners-up spot if they win in Brive and the Exiles lose to Leinster.
The triumph also maintained the Scarlets' unbeaten record against London Irish in the Heineken Cup and leaves both clubs with the alternative of a place in the second-tier Amlin Challenge Cup quarter-finals.
Scarlets boss Nigel Davies:
"We were very disappointed with the two games against Leinster and we were very keen to make up for that.
"We were put on the back foot a little bit with the amount of injuries that we had to some experienced players.
"But these young players are developing really nicely and we saw some outstanding performances from them.
"The challenge for them now is to consistently play at that level. It was reasonably easy to get them up for this one-of game, but we've got to go away to Brive next week and do exactly the same otherwise this doesn't count for very much.
"So that's a challenge, but in terms of where this squad is going, there are a lot of young, young players out there and I'm delighted for them more than anything else.
"We'd given them a lot of their opportunities. We were very slack, we were very loose.
"We kicked down their throats and a team like London Irish - you can't afford to give them any time on the ball and particularly turnovers and that's' where their game comes from.
"Unfortunately we started the second-half poorly as well and gave them lots of chances and opportunities.
"But then we pulled it together and I genuinely felt that when we had the ball we looked very dangerous and went through the phases and they looked very fragile."
London Irish boss Toby Booth "All the damage in relation to the competition was done when we lost to the Scarlets at home.
"We are bitterly disappointed, but the good thing about this team is it likes uphill challenges.
"We knew it would be tough here, we knew the Scarlets would be passionate, but I do feel that a lot of what went on today was our own doing.
"We are disappointed by the unforced error-count, and at 22-10 up we expected to close that game out.
"You live by the decisions you make. We had glorious opportunities to put that game to bed and didn't take them.
"Irrespective of the mathematics involved in the pools, any team that wants to be competitive in any competition has to bounce back from adversity.
"I have no problem getting this team up for big games. We have to prepare well for next weekend and try to heal some of the scars."
Scarlets: Evans; Stoddart, Lamont, J. Davies, Fenby; Priestland, Roberts, I Thomas, Owen, Manu, Reed, Day, McCusker, Turnbull, Lyons. Replacements: John for I. Thomas (60), Welch for Day (60), Edwards for Turnbull (60). Not Used: Phillips, Corsi, L Williams, Newton, Maule. Sin Bin: Reed (28).
London Irish: D Armitage; Hewat, Seveali'i, Mapusua, Homer; Lamb, Hodgson; Dermody, Paice, Rautenbach, Kennedy, Casey, Thorpe, S. Armitage, Hala'ufia. Replacements: Rudd for Seveali'i (52), Malone for Lamb (66), Richards for Hodgson (66), Murphy for Dermody (78), Ion for Rautenbach (52), Johnson for Casey (74), Roche for Thorpe (73). Not Used: Coetzee.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.