WATCH every match of the World Rugby Series Sevens LIVE & ONLY on beIN SPORTS | viaFoxtel, Kayo, Fetch & beIN SPORTS CONNECT
Ireland made it 10 consecutive home wins for only the second time, having won 12 in a row between November 2016 and November 2018.
Johnny Sexton and Damian Willemse exchanged early penalties before Cheslin Kolbe was shown a yellow card for a tip tackle on Mack Hansen but the host nation could not take advantage as a tight first half ended 6-6.
The contest burst into life after that though as two well-worked tries early in the second half down the left from Josh van der Flier and Hansen gave Ireland a 10-point lead against the visitor.
South Africa responded with 14 minutes remaining when Franco Mostert was able to force the ball over for a try after some sustained pressure, though another Sexton penalty looked to have sealed things for Andy Farrell's side.
Kurt-Lee Arendse nipped in down the South Africa left for its second try with four minutes remaining to cut the deficit to three points and test the nerves in Dublin, but Ireland was able to hold on to make it a perfect 10 on home soil.