The Lions went into the half-time break leading 10-7.
Flyhalf Du Plessis nailed three penalties and a conversion as the Lions set up a final against the Griquas in Kimberley on May 16 despite being outscored by two tries to one.
The Lions opened the scoring, thanks to a Du Plessis penalty in the ninth minute, before left wing Selom Gavor went over for a converted try with 10 minutes left in the half.
Just as it looked as if the Bulls would go into the break trailing by 10 points, the hosts finally opened their account, with two minutes left in the half. Inside centre Burger Odendaal took advantage of some poor Lions' defending to score a converted try.
The Lions took just four minutes after the restart to add to their lead when Du Plessis slotted a penalty goal. Jantjies struck back six minutes later with a successful penalty of his own.
The home team then took almost complete control of proceedings in the second half but poor finishing proved to be their downfall.
The Bulls went close to scoring at least two tries with Odendaal jinking his way to within metres of the tryline before the ball was passed in to touch while Jantjies lost the ball just short of the line after a quick tap penalty.
Du Plessis extended the Lions' lead to six points with a 72nd minute penalty before the Bulls made sure of a tense finish when replacement flank Roelof Smit was mauled over the tryline for an unconverted try.
The score left the Lions holding a narrow one-point lead with just three minutes left in the game but they managed to hold off their fierce rivals to secure the win.
Scorers:
Blue Bulls - 15: Tries: Burger Odendaal, Roelof Smit; Conversion: Tony Jantjies; Penalty: Jantjies.
Golden Lions - 16: Try: Selom Gavor; Conversion: Willie du Plessis; Penalties: Du Plessis (3).