Colombo: Sri Lankan troops fought off an attack early on Friday from ethnic Tamil rebels trying to recapture lost territory, as violence in the northern battle zone killed 42 rebels and three soldiers, the military said.

The Tamil Tiger's pre-dawn attack came hours after government forces captured a section of rebel-held territory near a key supply route in the Mullaitivu district, about three kilometres south of the village of Mallavi, said military spokesman Brigadier Udaya Nanayakkara.

"They came to attack, and we surrounded them and attacked [back]," he said.

Troops killed 29 rebels in the fighting and were searching the area for more rebel fighters, he said.

Meanwhile, battles in other parts of the war zone on Thursday left 13 rebels and three soldiers dead, Nanayakkara said.

Meanwhile, the Tamil Tigers accused an undercover military unit of setting off a roadside bomb inside rebel-held territory that killed a development official as he rode past on a motorbike, according to a website run by the rebels' peace secretariat.