Sri Lanka defeated Afghanistan by 34 runs in the ICC Men’s Cricket World Cup match at Sophia Gardens in Cardiff.