Ulster’s other score was a late penalty try awarded after Faddes was impeded trying to dive on a ball over the Ospreys’ line.
Ulster made one late change to their starting line-up with Jordi Murphy withdrawn in what was believed to be a precaution as he could yet be called out to the Ireland’s World Cup squad in Japan should Jack Conan not recover from a foot injury.
Price kicked the Ospreys into an early lead with a fourth-minute penalty.
The visitors also scored the first try of the game when full-back Evans went over – the score being awarded by the TMO – though Price missed the extras.
John Cooney then unusually missed a 10th-minute penalty but, three minutes later, Ulster got off the mark through Gilroy following a kick pass from Billy Burns. This time Cooney nailed the conversion via the post.
But Price then landed a monster penalty from halfway to push the Welsh region ahead by four points.
However, Ulster struck back – with Ospreys’ winger Luke Morgan in the bin – when Jones, who was called into the side after Murphy’s withdrawal, drove over from close range and Cooney’s conversion made it 14-11.
Price’s third penalty drew the teams level before Ulster finished the half by sending Faddes in at the corner after a terrific move with Cooney adding a superb touchline conversion to put the home side 21-14 in front.
Cooney kicked a 45th-minute penalty to further increase Ulster’s advantage and then Gilroy bagged the bonus point with Burns again providing the assist with another cross-kick.
Cooney’s conversion put Ulster 31-14 ahead and that became 38-14 after 70 minutes when the home side were awarded a penalty try.
Sign up to our mailing list here and we’ll keep you up to the minute with weekly updates from the world of rugby.