First 40 minutes: the Highlanders appeared a class above the Lions and were comfortably ahead 23-0 at the break.
Second 40 minutes: the Lions were much the better team, growing in belief as the half went on, and all but winning the game at the end.
Trailing by six points, the visiting side appeared to force the ball beside the goalpost with just over a minute left but the third match official ruled it inconclusive.
The Lions did eventually score, through speedy winger Courtnall Skosan, but it was right beside the touchline.
Replacement kicker Elton Jantjies had the chance to win the game but as the fulltime hooter sounded, his conversion attempt just fell short. The referee blew the whistle, despite the Lions appealing for an early charge by the Highlanders.
It was a relieved Highlanders side which left the field with a 23-22 win thanks to a get-out-of jail card.
First five-eighth Hayden Parker said the Highlanders knew they had to see the Lions off early in the second half but could not do so.
''We talked about it at halftime, about putting the foot on the throat and finishing them off. As it turned out, they came out and held on to the ball. They got through us a couple of times and ended up scoring some nice tries,'' Parker said.
''We were forcing the play a bit and we probably needed to hang on to the ball some more. We got held up in mauls a few times, too, which gave the ball to them and that hurt us. But all in all, we have to take the win.''
The Highlanders were good value in the first half, scoring three tries, and they looked as though they would skip clear in the second half. Parker said the side just played the way it wanted to in the opening half.
''We knew if we just stuck to the systems then eventually we would get the reward. We got that right in the first half but nothing in the second. I think in the second half they had to try something different and they just tied it right up and took it to us.
''I think we were all pretty calm out there. We knew what we had to do but we just could not nail it.''
Parker, in his first start for the season, said he was happy enough with his game.
''I'm training with the team every day so you feel as though you are still among it. There is nothing like a game though to get it you right. There were a few mistakes but you've got to expect that.
''We've had four South African sides in a row now and they are very physical sides. So it will be good and something different, to play the Hurricanes next week.''
The Highlanders started well on Saturday and had a try within the opening couple of minutes.
The ball was moved to right winger Richard Buckman, who went inside one defender and then pushed off another to go over in the corner.
The home team kept banging away in the first half but the Lions scrambled well. Buckman then got his second try with five minutes left before halftime. Phil Burleigh kicked the ball from 55m out and Buckman won the sprint to the ball.
A minute before halftime, Gareth Evans, on for the injured John Hardie, found himself unmarked on the left wing, after a good run by Ben Smith, and he went over.
The Highlanders' energy levels faded in the second half, and they were guilty of kicking too much ball away and sloppy handling.
But they hung on to win, and that in the end is what matters.
Buckman was outstanding, while Nasi Manu got through plenty of work. Lock Tom Franklin had an encouraging debut, getting through plenty of tackles, as did Evans in the second half.
Highlanders v Lions
The scores
Highlanders 23
Richard Buckman 2, Gareth Evans tries; Hayden Parker con, pen, drop goal
Lions 22
Faf de Klerk, Lionel Mapoe, Armand van der Merwe, Courtnall Skosan tries; Marnitz Boshoff con
Halftime: Highlanders 23-0.
Crowd: 10,100