Matthew Morgan kicked six penalties to guide the Ospreys past a battling Zebre outfit at the Liberty Stadium on Saturday.
Five of Morgan's penalties gave the Welsh region a 15-13 advantage at the break, with Filippo Cristiano's converted try and three-pointers from Paul Buso and Gonzalo Garcia being the response for the away side.
But scores from Tyler Ardron and Duncan Jones opened up a comfortable gap in the second period and effectively sealed the victory, although Samuela Vunisa's touchdown kept Zebre within range until the final whistle.
The hosts went into the game in fourth position having secured four wins and a draw from their first seven encounters.
Despite being without their international stars, they were expected to dispatch their Italian opponents, who have once again struggled this season.
Although they won their first ever game against the Cardiff Blues, the visitors have now lost six of their league matches. And it was the Ospreys who started the brighter when Morgan, who was playing in the absence of Dan Biggar, kicked them 6-0 ahead.
However, Zebre hit back and shocked the home team when Cristiano powered over for a converted score.
The respective fly-halves then traded penalties before Garcia's long range three-pointer opened up a four-point advantage after half-an-hour. But successive Morgan kicks from the tee saw the hosts go into the interval with a 15-13 lead.
Tandy's men lifted the intensity after the break following a difficult first half and they were rewarded with two tries in three minutes.
Firstly, Ardron touched down before prop Jones crossed the whitewash from close range. Morgan added the extras to the second score as they went 27-13 ahead.
However, the Italian outfit weren't finish and they reduced the arrears when Vunisa went over, but the Ospreys' stand-off sealed the win with a penalty.
Tries: Ardron, Jones
Pens: Morgan 6
Tries: Cristiano, Vunisa
Cons: Buso, Garcia
Pens: Buso, Garcia
Yellow Card: Vunisa
Ospreys: 15 Richard Fussell, 14 Hanno Dirksen, 13 Jonathan Spratt (c), 12 Ben John, 11 Jeff Hassler, 10 Matthew Morgan, 9 Tito Tebaldi, 8 Joe Bearman, 7 Sam Lewis, 6 Tyler Ardron, 5 James King, 4 Lloyd Peers, 3 Aaron Jarvis, 2 Scott Baldwin, 1 Duncan Jones
Replacements: 16 Matthew Dwyer, 17 Marc Thomas, 18 Dan Suter, 19 Graham Knoop, 20 Arthur Ellis, 21 Rhys Webb, 22 Sam Davies, 23 Tom Issacs
Zebre: 15 Dion Berryman, 14 David Odiete, 13 Roberto Quartaroli, 12 Gonzalo Garcia (c), 11 Giulio Toniolatti, 10 Paul Buso, 9 Brendon Leonard, 8 Samuela Vunisa, 7 Andries van Schalkwyk, 6 Felipe Cristiano, 5 Michael van Vuren, 4 Augustin Knights, 3 David Ryan, 2 Andrea Handles, 1 Salvatore Perugini
Replacements: 16 Thomas D'Apex, 17 Andrea De Marchi, 18 Luciano Leibson, 19 Emiliano Caffini, 20 Nicola Cattina, 21 William Palazzani, 22 Alberto Chillon, 23 Henry Ceccato
Referee: Leo Colgan (Ireland)
Assistant referees: Martyn Lewis (Wales), Craig Evans (Wales)