The Sharks avoided back-to-back Currie Cup defeats after coming from behind to edge past the Cheetahs 34-32 in Durban on Saturday.
Down fifteen points (21-6) at half-time, the hosts had some work to do after the break but mounted a strong fightback that included four tries to win the contest and leap-frog the Lions into top spot on the standings.
Sharks centre Meyer Bosman, who ended the match with a personal haul of 19 points, added the bonus-point try with four minutes left in the match to snatch the win.
Both sides relied on their kickers for most of the first period, with the Cheetahs holding a narrow 9-6 lead after 36 minutes thanks to three-pointers from Bosman and Nico Scheepers.
But the visitors burst clear in the dying stages of the opening half, scoring two tries in the same amount of minutes. First, Sarel Pretorius pounced on a loose ball after it was fumbled by Sharks flanker Jacques Botes, and the scrum-half dotted down for the first try of the match.
Then winger Raymond Rhule broke away, running 30 metres down the left flank to score their second as the Cheetahs took a 21-6 lead at the interval.
In an effort to close the gap, the Sharks surged ahead immediately after the break, and fly-half Riaan Viljoen carried a couple of Cheetahs players over the whitewash to score his side's first try of the game.
Eight minutes later, Scheepers managed to stretch the advantage again as he dotted down to keep the pressure on the hosts.
Fighting back at the death, the Sharks brought themselves back into the match with winger Odwa Ndungane scoring a brace of tries within six minutes to take them within five points of the visitors.
Bosman then converted his match-winning try with just over three minutes remaining, as the Sharks were able to successfully negotiate the closing minutes to pull off a vital victory.
Tries: Viljoen, Ndungane 2, Bosman
Cons: Bosman 4
Pens: Bosman 2
For Free State Cheetahs:
Tries: Pretorius, Rhule, Scheepers
Drops: S Ebersohn 2
The Sharks:15 Louis Ludik, 14 Odwa Ndungane, 13 Paul Jordaan, 12 Meyer Bosman, 11 S'bura Sithole, 10 Riaan Viljoen, 9 Charl McLeod, 8 Keegan Daniel, 7 Jean Deysel (c) 6 Jacques Botes, 5 Anton Bresler, 4 Steven Sykes, 3 Wiehahn Herbst, 2 Monde Hadebe, 1 Dale Chadwick.
Replacements: 16 Pieter Dixon, 17 Julian Redelinghuys, 18 Jandre Marais, 19 Francois Kleinhans, 20 Cobus Reinach, 21 Marius Joubert, 22 Rosko Specman.
Free State Cheetahs: 15 Hennie Daniller, 14 Nico Scheepers, 13 Robert Ebersohn (c), 12 Barry Geel, 11 Raymond Rhule, 10 Sias Ebersohn, 9 Sarel Pretorius, 8 Kabamba Floors, 7 Pieter Labuschagne, 6 Frans Viljoen, 5 Izak van der Westhuizen, 4 Andries Ferreira, 3 Marcel van der Merwe, 2 Hercu Liebenberg, 1 Schalk van der Merwe.
Replacements: 16 Elandré Huggett, 17 Ross Geldenhuys, 18 Waltie Vermeulen, 19 Davon Raubenheimer, 20 Tewis de Bruyn, 21 Phillip Snyman, 22 Ryno Benjamin.
Referee: Rasta Rasivhenge