Edinburgh were outplayed in their Pro14 season opener as Ospreys claimed a deserved win at a sodden Murrayfield.
The hosts, who lost Luke Crosbie and Magnus Bradbury to injury in the first half, led through a penalty try.
But Ospreys stormed back with scores from Nicky Smith and Mat Protheroe for a 20-10 advantage at the interval.
Protheroe added another on his first start as the visitors eased to victory, while Edinburgh looked a shadow of the side that made last term's semi-finals.
Richard Cockerill's men seemed to be suffering a hangover from that loss to Ulster last month - and the subsequent European Challenge Cup quarter-final defeat by Bordeaux - in an error-strewn display.
Even the normally reliable kicking of Jaco van der Walt was wayward, with the 26-year-old missing two penalties before splitting the posts with his third attempt on the stroke of half-time.
A superb Jamie Farndale break led to the opening score, with Justin Tipuric penalised for a deliberate knockdown on Chris Dean's pass.
Tipuric was yellow carded, and soon followed into the sin-bin by Edinburgh's Grant Gilchrist, who was deemed to have illegally tackled Ollie Cracknell.
Ospreys - coming off the back of the their worst Pro14 campaign, having won only twice in 15 games - capitalised with Smith driving over from a couple of metres.
Stephen Myler's long-range penalty nudged the visitors ahead before a terrific move extended the lead. Kieran Williams was the architect with a piercing run before feeding the supporting Protheroe for his first Ospreys try.
Myler and Van der Walter then traded penalties, but Edinburgh struggled to muster a response in the second half - failing to get on the scoreboard - as the Welsh side superbly defended their lead in treacherous conditions.
And Protheroe, a summer signing from Bristol, completed his double after Rhys Webb caught out the home team on the blindside at a maul as Cockerill's men slipped to a fourth consecutive defeat.
'We gave away cheap points' - reaction
Edinburgh head coach Richard Cockerill: "We just didn't fire any bullets at all tonight. We gave away cheap points and didn't control field position.
"We dropped too much ball, we didn't assert our physicality in trying to gain territory.
"Once Ospreys got in front they managed the game very well. We never got into any rhythm at all. We just have to look at ourselves and get better."
Edinburgh: Hoyland; Graham, Bennett, Dean, Farndale; Van der Walt, Shiel; Schoeman, McInally (capt), Berghan, Toolis, Gilchrist, Bradbury, Crosbie, Haining.
Replacements: Cherry, Bhatti, Nel, Davidson, Watson, Nutton, Chamberlain, Taylor.
Ospreys: Evans; Protheroe, Watkin, Williams, Morgan; Myler, Webb; Smith, Parry, Botha, Beard, Wyn Jones, Cracknell, Tipuric (capt), Morris.
Replacements: Lake, Jones, Fia, Davies, Lydiate, Morgan-Williams, Thomas, Thomas-Wheeler.