Scarlets trailed 13-6 following tries by Samuela Vunisa and Giulio Toniolatti, and it could have been worse when No8 Sinone Timani was sin binned for elbowing Toniolatti when Zebre - who missed three kicks - had three tries ruled out by the television official.
Instead Williams finished a wonderful counter-attack and Owens crashed over as they over-turned their seven-point deficit to lead 24-13 midway through the second half.
Priestland kicked Scarlets 6-3 ahead but No8 Vunisa surged over from a scrum and Toniolati followed six minutes later when Scarlets spilt possession. Toniolatti pounced when Jonathan Davies failed to gather Vunisa's kick.
The wing was then on the receiving end of Timani's elbow and Zebre sensed a chance against seven forwards. But flanker Filippo Ferrarini was twice denied on the line, by Rhodri Williams and then Josh Turnbull, on the stroke of half-time.
Tomasso Iannone's rash drop goal allowed Williams to launch a counter-attack. Namesake Liam Williams followed, showing strength and skill to draw three defenders and deliver a scoring return pass.
Giovanbattista Venditti's score was ruled out for an earlier forward pass but Gonzalo Garcia crashed through Priestland to set up a tense final 15 minutes at 24-20 before the Scarlets play-maker struck a fifth penalty as the hosts held on.