The 21-year-old from Linden in Johannesburg led the way to the finish line of the 133km queen stage of South Africa’s premier road race in 3:19:12.
He was followed home three seconds later by teammate Eddie van Heerden, with Dimension Data’s Hafetad Weldu third in 3:19:18.
Pro Touch’s Myles van Musschenbroek took over the yellow jersey from defending champion Stefan de Bod after ending fourth on the stage.
After 6:15:47 of racing, he provisionally leads Main (6:16:38) and Van Heerden (6:17:00) in the overall standings.
Main, who was part of a group of eight leaders that also included teammate Eddie van Heerden, said he knew they needed to make it hard at the start of the final climb.
“Eddie and I knew if it was too easy the guys would just follow. I don’t really have a big kick at the end so knew I had to go long,” said Main.
“I went a few times and Eddie did as well, but we were closed down each time.
“Luckily we caught them off guard with about two and half kilometres to go and managed to ride away. But it was a big effort and I’m a bit broken now.”
Given his climbing ability, Main said this was a stage he had always dreamt of winning.
“To be honest, this is a stage I targeted from last year and I was really happy to get the win.”
Main said there had been a number of attacks in the first half of the race with Franschhoek Pass “being quite hard”.
“Dimension Data set the pace early on and there were a few attacks up the pass for the King of the Mountains points.
“The descent was quite fast with guys trying to break clear but everyone came together at the bottom.”
The RoadCover climber said he did not follow any of the early moves.
“In the end, the one move I did follow was the one that got away, so I was possibly quite lucky in that respect.”
He said at one stage their lead had shrunk to 45 seconds before another surge broke the elastic and their advantage shot up to around four minutes.
“From that point we kind of knew we would stay away and as Eddie and I are both strong on the climbs we used that to our advantage.
“I was a bit nervous about my legs after the lengthy effort building up to the pass, but I knew my form was good and that I would be able to stay clear if I committed myself to the attack.”
In the women’s race, Bestmed-ASG’s An-Li Kachelhoffer won her second stage to claw a handful of seconds back in the overall standings.
Her time of 4:07:40 was 12 seconds faster than that of second-placed Brit Chanel Mason.
Third went to Dorma Karma’s Candice Lill (4:07:57), who took the lead in the general classification after yesterday’s Buffet Olives individual time-trial.
Lill provisionally heads the standings on 7:48:56, followed by Mason (7:51:08) and Luthi (7:52:13), who finished fourth on the stage.
After a tactical race for much of the day, Kachelhoffer said she had gone clear in a small group with about 10km to go.
“There were four of us and I decided to take a bit of a flyer,” said the 29-year-old from Paarl.
“I knew I had to put in some speed so they couldn’t just climb on my wheel and I kept on driving it for a solo win in the end.
“I certainly felt the pain and will just spend most of the day sleeping and recovering for tomorrow’s stage.”
Kachelhoffer said as she usually became stronger during stage races, the team would keep pushing on the final two stages of the tour, which is presented by the City of Drakenstein and Scicon.
“We had hoped to get more time on the yellow jersey, but this stage win is really good for me and I’m happy with the way we worked as a team.
“It is quite a big gap but we will keep on pushing and if I can have two good days, you never know what will happen. Otherwise we will be aiming for stage wins.”
Tomorrow’s stage will take riders on a circular route over 134km that includes ascents of Du Toitskloof Pass and Bain’s Kloof, before finishing at the Taal Monument above Paarl on Friday.
La Paris Estate to Du Toitskloof Pass, Paarl
Elite men results
1 Kent Main 3:19:12
2 Eddie van Heerden 3:19:15
3 Hafetad Weldu 3:19:18
Elite men GC
1 Myles van Musschenbroek 6:15:47
2 Kent Main 6:16:38
3 Eddie van Heerden 6:17:00
Elite women results
1 An-Li Kachelhoffer 4:07:40
2 Chanel Mason 4:07:52
3 Candice Lill 4:07:57
Elite women GC
1 Candice Lill 7:48:56
2 Chanel Mason 7:51:08
3 Ariane Luthi 7:52:13