Siya Kolisi had a storming game for the hosts as the Springbok captain went in for brace of tries to help Sharks to the eight win in 12 matches this season.
Grant Williams had opened the scoring for the home side with a try as early as the fourth minute but the Lions hit back when Tapiwa Mafura went over for his own five -pointer.
Kolisi though restored the Sharks' lead just before halftime while Jordan Hendrikse adding the extras from the kicking tee as the home side took a 12-7 lead into the break.
Springbok skipper Kolisi extended his team's lead after the interval when he went over for his second try of the match but the Lions showed their fighting spirit with a rousing comeback.
Richard Kriel and replacement hooker Franco Marais went for for tries while flyhalf Gianni Lombard added a penalty and conversion to give his team a 22-17 advantage.
Replacement loose forward Nick Hatton came off the bench to dot down and level the scores with 10 minutes if the contest remaining.
Sharks winger Yaw Penxe was shown a yellow card for an illegal challenge in the air in the 70th minute to the Lions the edge but the hosts weathered the storm and got a penalty of the own that Jaden Hendrikse converted to seal the win.
The Sharks finished top of the SA Shield, level with the Stormers on 18 points but overtaking their Cape team on derby wins (four to three) in the URC's mini competition.