His team-mate Louis Meintjes attacked what was left of the main field with 35 kilometres to go.
Thomson bridged the gap and although a big group formed behind to bring the dangerous move back, the chase was in vain as the 26-year-old took the victory.
“There are no words that can describe what it means to be the South African champion,” Thomson, who was second behind Daryl Impey in Thursday's individual time trial, said after the finish.
“It feels like a weight has been taken off my shoulders. I am really excited about it and can’t be happier.
“I can’t not name one of my team-mates today. They were just super strong. We were hoping that one of us would get away and other teams would chase and if it got brought back we’d attack again.
"When I saw Louis go up the road I attacked up one of the steep sections and got across to him as I sensed that was the moment in the race.
"With the two of us being in the top four of the time trial on Thursday, we knew we had the legs to take it to the finish.”