More than 4,000 people have been killed amid an upsurge in fighting since December 2005, despite the two sides agreeing to a truce in their decades-old ethnic war five years ago.
At least 20 rebels and one soldier were killed in a clash between the Liberation Tigers of Tamil Eelam (LTTE) in the Batticaloa district late Sunday, the defence ministry said.
The Tigers said two civilians were also killed during military shelling in the same district earlier in the day.
"More than 40,000 civilians were displaced within two days due to the heavy artillery and multi-barrel rocket firing," an LTTE statement said, warning of a massive refugee crisis.
Sri Lanka's defence ministry acknowledged that thousands of Tamil refugees were being accommodated at welfare centres or with friends and relatives in a government-held area.
"A total of 42,027 civilians have in the last few days arrived from the uncleared (rebel-held) areas of Batticaloa to the government-controlled areas," it said in a statem