The South African side gave up four first-half tries and had trailed 34-21 early after the break, only to haul themselves to a much-needed win.
A memorable converted Willie Le Roux try on 57 minutes, after WP Nel crossed moments before, sent the hosts ahead and when Berrick Barnes missed a late long-range penalty they held on.
The win moved the Cheetahs into 10th in the overall table and fourth in the South African Conference, while the Waratahs remained 11th after picking up two bonus points.
The Australian side had raced into a 14-0 lead after just seven minutes following converted tries to David Dennis and Sitaleki Timani.
The lead was cancelled out 10 minutes later though as first Petrus van Zyl crossed before Le Roux grabbed his first of two tries for the game.
Brendan McKibbin kicked the Waratahs back ahead but an Adriaan Strauss score on 25 minutes, which Riaan Smit converted, gave the Cheetahs the lead for the first time at 21-17.
The scoreboard continued to tick over though and the Tahs crossed twice more before half-time, through Rob Horne and Timani's second, before a 47th-minute McKibbin penalty had the visitors 13 points clear.
But a see-sawing contest failed to relent and after Nel barged over, Le Roux's brilliant kick and gather put the Cheetahs in front and, after Barnes missed a 48-metre penalty, they held on gamely.