Ulster secured a Pro14 play-off spot and dealt Edinburgh's end-of-season aspirations a huge blow with a bonus-point win at Murrayfield.
The visitors coasted to a 15-0 lead at the break thanks to tries from Jordi Murphy and Robert Baloucoune.
Winger Rob Lyttle powered over to extend the advantage before John Barclay scored a consolation.
Billy Burns crossed for the four-try bonus as Ulster secured second spot in Conference B.
The defeat means Edinburgh must beat rivals Glasgow at Scotstoun on 27 April - and hope Benetton lose to Zebre - to clinch the final play-off spot.
A grim night for Edinburgh
Ulster had way too much for Edinburgh - too much power up front, too much control at half-back, too much of a ruthless streak when opportunities presented themselves, too much big-game nous.
Iain Henderson's return as captain, and inspiration, gave them an extra aggression, and they blew their hosts away.
For Edinburgh, it was a grim night. They needed to win to give themselves the best chance of squeezing into the knockouts in third place in their conference, but they rarely raised a gallop. Both teams would have felt this was a must-win game, but only Ulster played like it.
John Cooney put them ahead with an early penalty and they landed a second blow when scoring their first try shortly after.
Ulster were calling the shots, their power, accuracy and speed of thought greater than Edinburgh's. The score that put precious distance between them and their conference rivals came when Grant Gilchrist ripped ball out of Nick Timoney's hands close to the Edinburgh line, the ball spinning loose only for Murphy to pounce on it first.
Cooney banged over the conversion to put Ulster into a 10-0 lead with only a dozen minutes on the clock. Edinburgh had their moments, but Ulster's organisation in defence was as sharp as their edge in attack.
Edinburgh were blurred. They missed touch from a couple of penalties, they kicked out on the full, they missed a straightforward shot at goal.
Just before the end of the first half they lost another score. The difference between the sides was seen in microcosm in that moment when Billy Burns' pass into the wide channel found Baloucoune, who sped around Darcy Graham with a pace and grace that stunned the home crowd. It was a classy finish from the wing.
Even though Cooney missed his conversion, Ulster were now 15 points clear and good value for it.
Jacob Stockdale was always a danger at full-back, Stuart McCloskey was a thumping presence in midfield, Burns and Cooney ran the show at half-back, and up front Ulster were a long way clear of their opposite numbers. Their back row routed Edinburgh's for much of it.
A third Ulster try came 15 minutes into the second half and again it was a piece of opportunism, as well as timid Edinburgh defence, that made it happen.
Ulster went wide again, down the left this time through Stockdale, who fed Lyttle. The little wing had plenty to do, but he did it with ease, beating one defender then taking another couple with him over the line. Cooney's conversion made it an Ulster romp at 22-0.
Barclay came off the bench and dummied his way over just before the hour, but there was never even the slightest suggestion Ulster were going to get fazed by it.
Instead, they got a fourth try and the bonus point that came with it. More pressure, more stress on the Edinburgh defence, more cracks and the excellent Burns went through. The extras made it a 22-point game.
Ulster will be there when the play-offs begin but Edinburgh's fate is no longer in their own hands after this loss. Put simply, if Benetton beat Zebre with a bonus point on the final weekend - possible if not probable - then Edinburgh's play-off hopes will be over.
Edinburgh: Graham; Hoyland, Bennett, Scott, van der Merwe; van der Walt, Pyrgos; Schoeman, McInally (capt), WP Nel, Toolis, Gilchrist, Bradbury, Watson, Mata.
Replacements: Ford, Dell, Berghan, Hunter-Hill, Barclay, Shiel, Hickey, G Taylor.
Ulster: J Stockdale, R Baloucoune, L Marshall, S McCloskey, R Lyttle; B Burns, J Cooney; E O'Sullivan, R Herring, M Moore, I Henderson (capt), K Treadwell, N Timoney, J Murphy, M Coetzee.
Replacements: J Andrew, A Warwick, R Kane, A O'Connor, S Reidy, D Shanahan, P Nelson, A Kernohan.