South Africa were too strong for the hosts in Cardiff.