Ospreys returned to the Pro12 play-offs places as struggling Edinburgh fell to a 12th defeat in 16 games this season.
Number eight Morgan Allen scored two early tries as Ospreys dominated, but Hamish Watson's reply a minute from half-time halved the deficit.
The homed side reasserted control with a Rhys Webb try while Edinburgh centre Ben Atiga sat in the sin bin.
Fellow centre Nick de Luca was then sent off for a dangerous tackle but a fourth try evaded the home side.
Victory took Ospreys up to fourth place, leapfrogging Scarlets, who travel to third-place Leinster on Saturday.
But it will feel as a point dropped for the reigning champions; a wasted opportunity to grab a bonus point that could prove crucial come the end of the season in a congested battle for the top four play-off places.
Ospreys, ravaged by international call-ups, suspensions and injuries, quickly asserted their superiority with two tries in the opening 22 minutes, both coming after declining kickable penalties in favour of attacking lineouts.
Allen travelled no more than a total of 10 yards to score both, timing his arrival perfectly to crash over.
His first came after just four minutes. After gradual gains towards the posts, Jonathan Thomas made the crucial break behind the Edinburgh defence, and freed his arms just in time to offload to the onrushing Allen.
Fifteen minutes later, the home side repeated the trick, with Allen again the beneficiary. His charge over the Edinburgh tryline was even shorter this time after a series of powerful surges from his fellow forwards.
Fly-half Matthew Morgan converted both scores.
Edinburgh's continual infringements ensured the home side stayed on top, but a rare flowing attacking move from the visitors a minute from half-time gave the first half a totally different complexion.
Number eight Netani Talei was the instigator, launching a counter-attack from inside his own half, ably supported by wing Dougie Fife.
With the home defence in retreat and outnumbered, Edinburgh spun the ball across field and flanker Watson slipped through a couple of tackles to finish in the left corner.
Leonard, who had missed an earlier penalty at goal, added the extra points.
The fly-half missed his next attempt, a 45th minute penalty, but Morgan was similarly off target shortly afterwards.
Referee David Wilkinson finally lost patience with Edinburgh's ill-discipline, sending centre Ben Atiga to the sin bin, and two minutes later Ospreys moved comfortably clear with a third try from Webb.
The move started in their own half, with full-back Richard Fussell making the telling dart into Edinburgh's 22. When wing Tom Haberfield was held up a yard short, scrum-half Rees was alert to dive over around the fringes of the ruck to score.
Morgan's conversion opened a 17-point lead with 23 minutes to go.
With victory secured, a fourth try for bonus point was the remaining objective. They enjoyed enough possession but failed to make it count, even with their one-man advantage in the final four minutes when De Luca was sent off for a reckless tackle on Tom Grabham.
The substitute was fortunate to escape serious injury after landing on his head and shoulders when flipped in the tackle by De Luca and time ran out for the home side to collect maximum points.
Ospreys: Fussell; Haberfield, Isaacs, Spratt, Fotuali'i; Morgan, Webb; Bevington, Baldwin, Griffiths, Peers, J. Thomas, King, Lewis, Allen.
Replacements: Grabham for Haberfield (73), Beck for Spratt (53), Arhip for Griffiths (58), Ellis for Lewis (63). Not Used:Dwyer, M. Thomas, S. Williams.
Edinburgh: Tonks; Fife, De Luca, Atiga, Jones; Leonard, Rees; Yapp, Lawrie, Nel, Parker, Cox, McInally, Watson, Talei, Brown.
Replacements: Brown for Jones (21), Leck for Rees (69), Jacobsen for Yapp (56), Allen for Nel (67), McAlpine for Parker (67), Cairns for Brown (24). Not Used: Titterrell, Francis.
Sent Off: De Luca (76).
Referee: David Wilkinson (IRFU)
Assistant Referees: Gwyn Morris, Alan Jenkins (both WRU)
Citing Commissioner: Jeff Mark (WRU)
TMO: Paul Adams (WRU)