The Johannesburg-based side showed no signs of weariness despite four weeks away as they soaked up waves of Reds pressure to earn their third win of the tour and season after victories over the Melbourne Rebels and Auckland Blues.
Harold Vorster crossed for his first Super Rugby try in the opening half with flanker Warwick Tecklenburg adding a second after the break to hand the 2011 champion Reds their fifth loss in six matches this season.
Many of those defeats had been blamed on a crippling injury list but the Reds welcomed back six players on Friday, including flyhalf Quade Cooper and James O'Connor on the wing.
Wallabies star Tomane treble puts Brumbies in Super Rugby semis
The mercurial Cooper showed his full range of passing skills in the early minutes and kicked the Reds into a 3-0 lead with a penalty before the Lions hit back through Vorster.
The 21-year-old inside centre held off the powerful Samu Kerevi to touch down in the corner in the 14th minute.
Elton Jantjes missed the conversion but kicked a penalty just before the halftime whistle to send the visitors in 8-3 up.
The Reds enjoyed a bye last week and showed rustiness as they coughed up a second try with a wayward lineout that resulted in Tecklenburg crashing over for a 15-3 lead.
The Reds, though, hit back immediately. With Lions winger Ruan Combrinck in the sin bin, they were awarded a penalty try after a powerful scrum that was headed for the South Africans line was disrupted illegally.
The hosts took the lead after a brilliant reverse pass by replacement Ben Tapuai sent Cooper clear with the Reds recycling possession quickly to allow Kerevi to burst over in the 68th.
Cooper added the conversion to put the Reds ahead 17-15 but ill discipline allowed Jantjies an easy opportunity to slot a penalty from in front of the posts.
More frantic defence in the final stages ensured the win, with a Cooper drop goal effort charged down by the Lions to end the game.
Draw puts Stormers in Super 15 play-offs
Israel Folau hat-trick seals play-off place for rampant NSW Waratahs