Lions may be the least fashionable of the South African sides, but they led 13-12 at half-time despite a yellow card.
They arrived in Newport unbeaten, after wins over Ulster and Edinburgh, and struck first through Horn in their opening away game of the season.
Dragons recalled Leon Brown, Rodrigo Martinez, Keddie, Joe Westwood and Ewan Rosser, a late replacement for his brother Jared, and all were in the thick of the action.
Keddie intercepted Steyn’s pass and galloped 70 metres upfield, out-sprinting the fly-half, to level the scores.
Westwood was among many to benefit from the handling skills of Owen but was also among those guilty of wasting chances by coughing up possession.
It was from Owen’s half-break that Lions hooker Franco Marais was sin-binned for kicking the ball out of Rhodri Williams’ hands.
And just seconds later, Dragons capitalised with a driving maul finished by Basham, scoring for the second game in a row.
Basham and Martinez both conceded penalties – harshly in Martinez’s case – to give Lions the narrowest of leads at the break which was wiped out within moments of the restart.
Rosser earned a penalty from which Ben Carter and Lewis-Hughes edged close, before Basham showed real strength to get through a crowd of legs to score again.
But again discipline and some desperately tired tackling undermined Dragons, without a win over South African opposition for more than four years.
Replacement fly-half Nohamba kicked three points before flanker Cairns swatted off Westwood and stepped out of Angus O’Brien’s tackle to score Lions’ crucial second try.
Dragons coach Dai Flanagan recognised the need to freshen up and drafted on five replacements in the space of a few minutes, including prop Cameron Jones for his debut.
But Reed’s attempt to close the gap to a point was as close as Dragons came late on as Lions, who have only lost two of 13 meetings with Welsh teams, closed out a scoreless final half-hour.