A brace of tries by full-back Jordan Williams helped Scarlets to fight back and earn a Pro12 win over Edinburgh.
Centre Nick de Luca's early try plus Carl Bezuidenhout's conversion and penalty gave the visitors early momentum.
But the hosts were ahead at the break as Williams added his scores to Aled Thomas's eight points from the boot.
Tom Brown struck back, but Adam Warren's try and another Thomas penalty were enough for the hosts.
The win means that seventh-placed Newport Gwent Dragons cannot overhaul Simon Easterby's side, who lie sixth, when Lyn Jones' men face Glasgow on Sunday at Rodney Parade.
Edinburgh took a bonus point after finishing within seven points of Scarlets, but the Murrayfield side remain eighth in the table.
That they ceded that point will be a disappointment for Scarlets, such was their fightback, but the Welsh side were unable to score a fourth try despite the dazzling runs of Williams in a game between two teams weakened by the absence of their respective Six Nations stars.
Edinburgh coped better with the changes at first, full-back Jack Cuthbert powering through the home defence before wing Brown contributed to De Luca crossing for the opening score after three minutes.
South African fly-half Bezuidenhout converted from the touchline, adding a penalty to make it 10-0.
Home stand-off Thomas kicked two penalties in response before scrum-half Gareth Davies sped away to set up the chance for Williams to amble over unopposed.
Thomas converted, but Bezuidenhout levelled with a penalty from 45 metres.
Williams ensured his side went in 18-13 ahead at the break as he tiptoed through Edinburgh's defence before bursting clear but, four minutes after the restart, visiting scrum-half Grayson Hart's run set up the position from which Brown was able to work his way to the line.
Prop Phil John led Scarlets' riposte as the home back drove to the line before centre Adam Warren powered over.
Thomas converted, then Cuthbert reduced the deficit, but neither side was able to make any further headway.
VIEWS FROM THE DRESSING ROOM
Scarlets boss Simon Easterby: "We scored some really nice tries this afternoon. We identified certain areas where we thought we could reward ourselves with points and we did just that.
"We're relieved to come away with the win and we've collected nine from 10 points over the last few weeks. We missed out on a point today, but we have to keep winning.
"There's a bit of a gap between us and the teams in fifth and fourth place, but we have the confidence that we can get results against the top sides."
Scarlets: Jordan Williams, Kristian Phillips, Adam Warren, Olly Barkley, Frazier Climo, Aled Thomas, Gareth Davies, Phil John, Emyr Phillips, Samson Lee, George Earle, Johan Snyman, Josh Turnbull, Rob McCusker (capt), John Barclay.
Replacements: Gareth Maule for A Warren (68), Rhodri Williams for G Davies (65), Rob Evans for John (68), Kirby Myhill for E Phillips (68), Jacobie Adriaanse for Lee (58), Richard Kelly for Earle (27), Sione Timani for Turnbull (53).
Not Used: Owen.
Edinburgh: Jack Cuthbert, Dougie Fife, Nick De Luca, Andries Strauss, Tom Brown, Carl Bezuidenhout, Grayson Hart, Wicus Blaauw, James Hilterbrand, Willem Nel, Grant Gilchrist, Izak van der Westhuizen, Mike Coman (capt), Cornell Du Preez, Roddy Grant.
Replacements: Sam Beard for De Luca (41), Harry Leonard for Bezuidenhout (41), Sam Hidalgo-Clyne for Hart (58), Alex Allan for Blaauw (74), Ollie Atkins for van der Westhuizen (67), Tomas Leonardi for Grant (70).
Not Used: Turner, McQuillin.
Referee: Marius Mitrea (FIR, 23rd competition game)
Assistant Referees: Sean Brickell, Jonathan Hardy (both WRU)
Citing Commissioner: Aurwel Morgan (WRU)