The Colombo stock index ended 1.55 percent firmer at 6,402.99, its highest close since Nov. 15, 2016. The index recorded its biggest percentage gain since Feb. 6, 2015.
The index has gained 1.75 percent during the week, posting its third weekly gain in eight. It has climbed 7.16 percent in the last 11 sessions through Wednesday.
The market has seen fund inflows for 16 straight sessions through Wednesday, with foreign investors buying a net 5.22 billion rupees ($34.31 million) worth of equities in the same period.
They net bought shares worth 319 million rupees on Wednesday, raising the year-to-date net foreign inflow into equities to 7.71 billion rupees.
"Continuous foreign buying in John Keells Holdings and Ceylon Tobacco Company helped the gain," said Atchuthan Srirangan, a senior research analyst with First Capital Holdings PLC.
Shares of Ceylon Tobacco Company plc jumped 9.8 percent, while Ceylon Cold Stores Plc gained 2.87 percent and biggest listed Lender Commercial Bank of Ceylon Plc rose 2.66 percent and conglomerate John Keells Holdings Plc rose 1.33 percent.
Turnover stood at 2.37 billion rupees, the highest since Feb. 28 and well above this year's daily average of 780.7 million rupees.
Sri Lanka will celebrate its traditional new year this week and the markets will be closed on Thursday and Friday. ($1 = 152.1300 Sri Lankan rupees)