The militant group, which launches regular attacks to undermine Somalia's government supported by the UN and African Union peacekeeping troops, has claimed to kill 24 soldiers.
At least 13 Somali troops have died after the army attacked militant group al Shabab in a jungle and farms near the district of Afgoye northwest of the capital, Mogadishu, a military official has said.
Al Shabab has battled since 2008 to overthrow Somalia's internationally-recognised central government and establish its rule, based on its own interpretation of Islamic law.
"We left Afgoye district and attacked al Shabab in the farms outside Afgoye," Major Mohamed Ali told Reuters, describing Wednesday's incident in the district about 30 km from Mogadishu.
"We killed four militants and chased al Shabab," Ali said late on Wednesday. "Most of the military came back and we left two dozen soldiers there. Then, this evening, al Shabab attacked our soldiers and killed 13."
Conflict since 1991
Al Shabab, which launches regular attacks in a bid to undermine Somalia's UN-backed government, claimed responsibility.
"We killed 24 soldiers and the rest escaped and ran away," said Abdiasis Abu Musab, the group's military operations spokesman.
Somalia's government and al Shabab often give differing figures of casualties after attacks.
Deadly violence has engulfed Somalia since 1991, when clan warlords deposed leader Siad Barre and then turned on each other.