The Pumas, who shipped whole truckloads of points (80 to be exact) against the same opponents in the first round fixture in Bloemfontein, deserved at least a share of the spoils in this nailbiter.
But in the end, and reduced to 14 men, they ran out of steam with just five minutes left having led for large chunks of the match, allowing Ebersohn to snatch a somewhat fortuitous victory.
Replacement Andries Strauss then added insult to injury when he scored after the hooter to give the Cheetahs an all-important bonus point to take them to 42 points and second on the log, four points ahead of the Sharks and three behind the Lions.
The gutsy home side showed early on that they were going to be a different prospect in front of their home fans, and it was flyhalf Carl Bezuidenhout who gave them reason to cheer with an early penalty.
The Cheetahs, lying third on the table going into the match with six wins and two draws from their 12 matches, and desperately looking to get into home semi-final territory, took the lead near the half hour when flanker Philip van der Walt broke through on the left-hand side after good distribution work by the Ebersohn twins, flyhalf Sias and centre Robert, and an initial foray by loose forward Ashley Johnson.
Sias Ebersohn's conversion made it 7-3 but soon after the restart it was the Pumas who regained the initiative, bustling centre Dewald Pretorius cutting through from a simple yet effective scissors movement near the Cheetahs' line.
Bezuidenhout added the extra points, then booted a penalty three minutes from the break to give his side a handy six-point lead at the break -- although the advantage might have been even more telling had he not missed two earlier kicks.
The Cheetahs looked to have shrugged off their first-half lethargy when they scored 10 quick points after the break, through a try to prop Marcel van der Merwe and a conversion and penalty to Sias Ebersohn to hand them back the lead (17-13).
But the Pumas replied in kind, notching 10 unanswered points of their own via a Bezuidenhout penalty after 55 minutes and a superb try on the hour by flanker Jaco Bouwer, who finished off a sustained wave of attacks with a well-timed pick-and-drive from close range.
At 23-17, a number of teams around the country, not least of all the second-placed Sharks and fourth-placed Western Province, would have been taking a keen interest in proceedings, especially as it was widely predicted that the Cheetahs would more than likely take four points at least from this fixture.
But the Free Staters didn't bank on the sheer physical commitment shown by the Pumas, who may well have been playing their final Premier Division match at their Witbank home, given the imminent restructuring of the competition from next year.
Paradoxically, the heat of battle was doused somewhat during the final 15 minutes when referee Sindile Mayende was forced to introduce uncontested scrums to proceedings.
That, and the yellow-carding of Pumas lock Eduan van der Walt with eight minutes left, which combined to give the Cheetahs a sniff of victory.
Twice the visitors were held up over the line, and one sensed the dam wall would cave in before too long. But time after time the Pumas' scrambling defence frustrated the resurgent Free Staters.
The Cheetahs eventually broke through, however, Sias Ebersohn diving over in the left-hand corner with four minutes left to bring them to within a point -- and then nailing the touchline conversion to win the game.
Strauss's late score rubbed salt in the wounds and gave the Cheetahs a bonus point that may yet prove crucial in the final tournament shake-up.
Scorers :
Pumas 23 - Tries: Dewald Pretorius, Jaco Bouwer. Conversions: Carl Bezuidenhout (2). Penalties: Bezuidenhout (3).
Cheetahs 29 - Tries: Philip van der Walt, Marcel van der Merwe, Sias Ebersohn, Andries Strauss. Conversions: Sias Ebersohn (3). Penalty: Ebersohn.