That proved to be the last score for the Lions, who thereafter turned over too much ball in contact, with number eight Andy Powell guilty on several occasions.
One superb Ferris break almost sent Earls in for his second before the centre was forced into touch, while another multi-phase attack ended when Earls was turned over a metre short.
But the second half belonged to the Cheetahs, who missed two penalties - one from Potgieter, another from Strydom - before an uninspired Williams tried to force a pass and centre Uys galloped 80m for an intercept try.
Strydom's conversion made it a two-point game for the final eight minutes to give the Lions a major scare.
Centre Luke Fitzgerald hobbled off with cramp with five minutes left to give recent arrival Gordon D'Arcy his first taste of action, while the otherwise solid Lee Byrne appeared to hurt his left hand dropping a high ball in the final minute.
The Lions held on though to survive by the skin of their teeth.
Cheetahs: H Daniller; D Demas, C Uys, M Bosman, JW Jonker; J-L Potgieter, T de Bruyn; W Du Preez, A Strauss, K Calldo, N Breedt, D de Villiers, H Brussow, F Uys, H Scholtz (capt). Replacements: R Strauss, W P Nel, F Viljoen (for Breendt, 46), K Floors (for Scholtz, 64), G Odendaal (for De Bruyn, 44), L Strydom (for Potgieter), F Juries.
Lions: Lee Byrne (Ospreys & Wales); Leigh Halfpenny (Cardiff Blues & Wales), Keith Earls (Munster & Ireland), Luke Fitzgerald (Leinster & Ireland), Shane Williams (Ospreys & Wales); James Hook (Ospreys & Wales), Harry Ellis (Leicester & England); Andrew Sheridan (Sale & England), Ross Ford (Edinburgh & Scotland), Euan Murray (Northampton & Scotland), Donncha O'Callaghan (Munster & Ireland), Paul O'Connell (Munster & Ireland - capt), Stephen Ferris (Ulster & Ireland), Joe Worsley (Wasps & England), Andy Powell (Cardiff Blues & Wales). Replacements: Matthew Rees (Scarlets & Wales - for Ford, 62), Adam Jones (Ospreys & Wales - for Murray, 62), Nathan Hines (Perpignan & Scotland - for Worsley, 67), Gordon D'Arcy (Leinster & Ireland - for Fitzgerald, 75). Not used: Simon Shaw (Wasps & England), Mike Blair (Edinburgh & Scotland), Ronan O'Gara (Munster & Ireland).
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.