The main share index ended firmer 0.71 percent, or 43.18 points, at 6,084.24, its highest closing since July 3.
Foreign investors bought net 78.2 million rupees ($593,800) in shares, extending the year-to-date net foreign inflow to 16.73 billion rupees.
John Keells closed up 3.96 percent at 270.30 rupees.
Turnover was 408.4 million rupees ($3.10 million), bourse data showed, well below this year's daily average of around 960 million rupees.
($1 = 131.7000 Sri Lanka rupees)
(Reporting by Ranga Sirilal and Shihar Aneez; Editing by Subhranshu Sahu)