De Silva debuted in 1984 and scored his first Test century in October 1985 against Pakistan. In a man-of-the-match performance, he scored 122 in an eight-and-a-half-hours innings. He made centuries in both innings of a match when he scored 138 and 103 – not out in both innings – in the second Test of the 1997 series against Pakistan, and as of March 2022, he is the only player to score unbeaten centuries in both innings of a Test. He repeated the feat of scoring centuries in both innings in the same year, when he scored 146 and 120 against India in another man-of-the-match performance. De Silva's highest Test score of 267, achieved in January 1991 in Wellington, was reached in 380 balls against New Zealand. The performance is the sixth-highest score by a Sri Lankan batsman in Test cricket. De Silva scored his twenty Test centuries against seven different opponents, and was most successful against Pakistan, making eight. As of April 2013, he is thirty-fourth in the international Test century-makers list, and third in the Sri Lankan list.
De Silva's maiden ODI century was against India in 1990; he scored 104 runs off 124 balls. His highest score in ODIs is 145, against Kenya in the 1996 Cricket World Cup. His score led Sri Lanka to 398, the highest ODI total by any team at that time; it was also the first century made by a Sri Lankan in a World Cup. He also scored a century in the second innings of the final, making 107 runs not out. As of April 2013, he is twenty-sixth in the list of all-time ODI century-makers and sixth in the equivalent list for Sri Lanka. He was most successful against Pakistan, scoring 11 centuries in both Tests and ODIs put together. De Silva also holds the record for the tenth-fastest Test double century, which he attained while playing against Bangladesh in 2002.
^The record was surpassed by Australia, which made 434 runs in March 2006. However it was outstripped in the same match when South Africa made 438 runs. As of January 2013, the record lies with Sri Lanka which made 443 runs against the Netherlands in July 2006.