The soldiers encountered fighters suspected of belonging to the al-Qaida-linked Abu Sayyaf group outside Indanan town on Jolo island during a road security patrol, Jolo military commander Brigadier General Agustin Dema-ala said.
Dema-ala said three soldiers were killed on Saturday and one was wounded in the clash. He gave no other details.
ABS-CBN television reported that five rebels were also killed in the firefight.
Senior Superintendent Suaibon Jalad, police chief of Sulu province, which includes Jolo, said an Abu Sayyaf band under local commander Albader Farad operates in the area, about 950km south of Manila.
A reporter for DZBB radio in Jolo town near Indanan reported that the area was shelled by military artillery and saw two armoured vehicles rushing in the direction of Indanan to help recover the government casualties.
The Abu Sayyaf-backed followers of jailed rebel leader Nur Misuari have been pursued by about 3000 soldiers and marines since they attacked an army outpost in Panamao town on 7 February.
Saturday's clash raised the number of soldiers killed to 30 since early this month. Troops have killed more than 40 armed men and wounded scores of others, the military said.