The main share index gained 1.11 percent, or 62.88 points, to close at 5,730.21, its highest since Sept. 4.
'Foreign buying in Keells boosted sentiment. We have seen some bottom fishing too,' said a stockbroker.
Foreign investors were net buyers of 712.2 million rupees ($5.36 million) worth of shares on Wednesday, extending the year to date net foreign inflows to 19.03 billion rupees.
The bourse, which had been in an oversold region since Sept. 3, shot up to neutral territory, with the 14-day Relative Strength Index at 37.089 on Wednesday, above its lower neutral level of 30, Thomson Reuters data showed.
Shares in marker heavyweight Ceylon Tobacco Co PLC rose 8.57 percent to 1,140 rupees. Top conglomerate John Keells Holdings Plc, which traded largely on block deals, ended flat at 209 rupees.
Wednesday's turnover was 1.17 billion rupees, its highest since Aug. 14 and more than this year's daily average of about 886.4 million rupees.
($1 = 132.8500 Sri Lanka rupees)
(Reporting by Ranga Sirilal and Shihar Aneez; Editing by Prateek Chatterjee)
(Reuters Messaging: email@example.com)(twitter.com/rangab a)