His long range penalty crept over for a dramatic last gasp win in a game where the Highlanders were nine points ahead going into the last 20 minutes but had to come from behind in the closing stages to snatch victory.
Sopoaga did not miss with any of his kicks as he contributed 19 points.
"It could have gone either way in an awesome match, it's a tough place to play. We knew it would come down to the wire and we were lucky to take those key moments," said Highlanders captain Ben Smith.
The Highlanders made a bright start as Aaron Smith chased down a kick to go over inside the opening five minutes.
The Bulls were level after being awarded a penalty try in the 23rd minute as Fletcher Smith tackled Warrick Gelant, chasing down a forward kick.
An intercept try from flyhalf Handre Pollard allowed the hosts to go ahead for the first time in the match on the half-hour mark but Sopoaga's penalty reduced the half-time score to 14-10.
Sopoaga slotted another over just after the interval and the Highlanders went back in front when the three Smiths Aaron, Ben and Fletcher put together a smart inter change of passes for Fletcher to go over.
Sopoaga kept up his accurate kicking to stretch the lead to 23-14 but just before the hour mark the Bulls prop Lizo Gqoboka burst through to set up a try for Jason Jenkins, who stretched over the line for the score.
The high altitude left the Highlanders looking exhausted as they went into the last 10 minutes with a tenuous 26-21 lead and in the 75th minute their tigerish defence was breached as Pollard popped Jesse Kriel into space and he went over to level with Pollard converting for a 28-26.
Defeat kept the Bulls outside the top half of the standings with the Highlanders moving up into fifth place overall on 28 points.