The main stock index ended higher by 0.54%, or 34.76 points, at 6,467.28, its highest level since 23 May 2013.
Dealers said a US-based fund bought a 6.5% stake in Hemas Holdings on Wednesday.
“Foreign buying is strong and we see now others are also coming to the market to buy big quantities,” a stockbroker said on condition of anonymity.
Analysts said foreigners have been buying risky assets because they see values in them, while falling yield in fixed assets is gradually prompting local investors to shift their funds to equities.
Foreign investors were net buyers for an eighth straight session on Thursday, buying Rs. 265.9 million of stocks during the day and extending foreign inflows this year to Rs. 9.2 billion.
Turnover was Rs. 1.51 billion ($ 11.59 million), more than this year’s daily average of around Rs. 1 billion.
Shares of Commercial Bank of Ceylon jumped 3.41% to Rs. 148.60, while Hemas Holdings rose 1.1% to Rs. 46.
Brokers said investors are bullish about the market after they witnessed large state funds actively traded shares on Wednesday.
Analysts said foreign buying could continue due to lower inflation after government data showed annual inflation eased to 2.8% in June, its lowest since February 2012, down from 3.2% a month earlier.
Yields on treasury bills edged down further at a weekly auction on Wednesday.
However, analysts said investors are concerned over the recent ethnic violence and possible implications of a government spokesman saying Sri Lanka bought Iranian crude via third parties.
The market has been on a rising trend since late February due to continued foreign buying and lower interest rates.