Ulster withstood a late home onslaught to secure a narrow 16-10 win over Edinburgh which lifts them to fifth in the United Rugby Championship table and keeps alive their hopes of a home play-off.
The losing bonus point guarantees Edinburgh's involvement in the knockout stage of the season, but they will face a tricky away assignment in either Ireland or South Africa, depending on how the final round of matches pans out.
Edinburgh fired out of the blocks, with James Lang breaking from deep straight from the kick-off, although the centre picked up an injury when he was eventually stopped on halfway and had to be replaced.
It was frantic and physical stuff, with three more players having to leave the field either temporarily or permanently before the game was six minutes old. That included Edinburgh hooker Stuart McInally, who needed to go for an HIA after taking a blow to the head from Nick Timoney's shoulder, with the Ulster flanker being sin-binned as a result.
Edinburgh looked dangerous when they got the ball in broken play but could not hold on to possession for long enough to really put Ulster under pressure.
Meanwhile, Ulster patiently turned the screw when they got into Edinburgh's 22 around the 10-minute mark and were rewarded when winger Robert Baloucoune squeezed over on the right for the game's opening try.
Nathan Doak added the conversion and then kicked two penalties as the visitors took control of the scoreboard, before Edinburgh rallied during the last few minutes of the half to finally get off the mark when Emiliano Boffelli fired home an offside penalty.
Ulster really should have reclaimed their 13-point lead after three minutes of the restart, but Doak's effort came back off the right post.
However, Edinburgh failed to clear their lines and the Ulster scrum-half got a second bite at the cherry a few minutes later following an off-the-ball push, and this time Doak nailed his shot at goal.
Edinburgh tightened their game up and set up camp on Ulster's line, and a succession of penalties conceded by the visitors eventually led to a yellow card being shown to Alan O'Connor.
The home side kept plugging away and finally pulled it back to a six-point game when Mark Bennett chipped his man and raced through to ground the ball as it bounced over the line - but they could not get any closer despite their determined efforts in the closing stages.