Ireland win classic in Cardiff