They pounced for a try either side of the break following Treviso mistakes and Rhys Webb raced clear at the death.
But they were left to rue their failure to secure a try-scoring bonus-point, which could be crucial as their play-off battle with the Scarlets continues.
The reigning PRO12 champions face Glasgow Warriors next before finishing the regular season against Leinster.
Forwards coach Jonathan Humphreys was left frustrated by his side’s latest win – their ninth in a row at the Liberty Stadium – but he reckons they have what it takes to defend their crown.
“It was a really, really frustrating game – it never flowed,” said Humphreys.
“It’s the seventh time we have scored three tries in a match and not got the bonus-point.
“If you’d asked us after the first three games of the season, would you be there or thereabouts fighting for the play-offs with a couple of games to go we’d have taken that” he insisted.
“We’ve got two really difficult games to go but we know what it takes to win in these places and we know it’s going to take us playing at our very, very best to do that.
“Glasgow will be disappointed at the way they played last night, although the Scarlets played really well, so it’s going to be a really tough game on Friday. If we get a win up there, all of a sudden we’ve dragged Glasgow back into it.
“The odds are stacked against us, going against a very strong team in Glasgow and a team who you could say will be out for revenge against us in Leinster. It’s going to be extremely tough but that can bring the best out of us.
“If we get eight points from these games, we’re there or thereabouts. If we don’t make the play-offs, then we’ve still done extremely well, fighting hard in a season of adversity.
“We’ve had an unbelievable amount of injuries so to be thereabouts and win our last two games, and be in with a shout at the very end of the season, we can’t do any more than that and we’d have taken that after three games.
“If we fall short it won’t be for a lack of effort. These boys have got a lot of resolve and we’re going to need it.”
Tobie Botes fired the Italians into the lead after just six minutes in saturated Swansea after the Ospreys were caught offside.
Biggar made amends for an earlier miss by levelling the scores just minutes after Treviso lost their captain Antonia Pavanello to injury.
And the Wales fly-half kept the scoreboard ticking to give his side a six-point advantage.
The Ospreys stretched that further in fortuitous fashion just minutes before the restart.
Treviso bizarrely took a quick lineout from behind their try-line, which should not have stood, and it backfired as Botes’ clearance fell straight into the hands of John, who dotted down at his feet
Biggar failed to add extras but he became the recipient of another Treviso mistake to put the result out of reach.
Manoa Vosawai attempted to flick on the ball but it deflected into Biggar and he dived over to score,.
Treviso were dealt a blow when Bees Roux was shown yellow for persistent infringements just three minutes after coming on to the pitch.
The Ospreys continued to pile on the pressure but they were frustrated by the battling Italians before Webb raced clear from a quick-tap at the death.