LAHORE: Sri Lanka beat Afghanistan by 2 runs at Gaddafi Stadium, Lahore in the Asia Cup 2023 match on Tuesday.