The Scarlets kept up their push for top-flight European rugby next season with a 27-20 victory over Zebre at Parc y Scarlets.
Tries by Samuela Vunisa and Giulio Toniolatti, plus a Gonzalo Garcia penalty, gave the Italian outfit a surprise 13-9 lead at the interval. Three Rhys Priestland penalties were all the Welsh region could muster before the break, but they upped the intensity in the second period.
Jordan Williams and Ken Owens touched down, while Priestland added another three-pointer, to take them 24-13 ahead. Although the visitors responded when Garcia went over, a fifth penalty by the hosts' fly-half secured the win for the Scarlets.
Zebre may be bottom in the Pro12 but they have enjoyed an improved season in the tournament and are far more competitive than in years gone by. Although the Llanelli-based outfit quickly established a 6-0 advantage through a pair of Priestland penalties, Zebre showed that they can challenge the top-six sides in the league.
Garcia reduced the deficit via a penalty before Vunisa crossed the whitewash to give them an 8-6 lead after 27 minutes. That was extended via Toniolatti's try, although Priestland's third kick from the tee took the hosts to within four points at half-time.
The Scarlets went into the second period a man down through Sione Timani's sin-binning, but the visitors failed to utilise that benefit as Simon Easterby's men increased the pressure. They were rewarded for their bright start to the half when Williams went over. Boosted by that try, the home side promptly scored for the second time in ten minutes through hooker Owens. Priestland then kicked a penalty and it seemed that the result was all but confirmed.
That was until Zebre mounted a spirited attack and Garcia touched down to reduce the arrears to 24-20. However, another effort from the tee by the hosts' fly-half secured the victory.
Tries: Williams, Owens
Pens: Priestland 5
Yellow card: Timani
Tries: Vunisa, Toniollati, Garcia
Cons: Garcia 2
Scarlets: 15 Liam Williams, 14 Kristian Phillips, 13 Jonathan Davies (c), 12 Olly Barkley, 11 Jordan Williams, 10 Rhys Priestland, 9 Rhodri Williams, 8 Sione Timani. 7 Josh Tunrbull, 6 Aaron Shingler, 5 George Earle, 4 Jake Ball, 3 Rhodri Jones, 2 Emyr Phillips, 1 Rob Evans.
Replacements: 16 Ken Owens, 17 Phil John, 18 Samson Lee, 19 Johan Snyman, 20 Richard Kelly, 21 Aled Davies, 22 Steven Shingler, 23 Gareth Maule.
Zebre: 15 David Odiete, 14 Giovanbattista Venditti, 13 Roberto Quartaroli, 12 Gonzalo Garcia, 11 Giulio Toniolatti, 10 Tommaso Iannone, 9 Brendon Leonard, 8 Samuela Vunisa, 7 Filippo Cristiano, 6 Filippo Ferrarini, 5 George Biagi, 4 Quintin Geldenhuys (c), 3 Dario Chistolini, 2 Andrea Manici, 1 Salvatore Perugini.
Replacements: 16 Davide Giazzon, 17 Andrea de Marchi, 18 Luca Redofini, 19 Emiliano Caffini, 20 Andries van Schalkwyk, 21 Guglielmo Palazzini, 22 Luciano Orquera, 23 Ruggero Trevisan.
Referee: Andrew McMenemy
Assistant referees: Wayne Davies (Wales), Chris Williams(Wales)
Television match official: Tim Hayes (Wales)