African Union troops in Somalia say they have seized a key militant area, including a airstrip and hospital, on the outskirts of the capital.
Islamist fighters have launched frequent attacks on Mogadishu from bases in Deynile to the west.
But an al-Shabab spokesman said it was a "failed offensive" and the group still held the area.
The group, which controls large swathes of southern Somalia, was ousted from most of Mogadishu last August.
It is also under pressure on other fronts from Kenyan and Ethiopian forces - and earlier this week lost the central town of El Bur to Ethiopian and Somali pro-government troops.
Residents in Deynile told the BBC they saw troops advancing and heard heavy gunfire early on Friday morning.
A spokesman for the AU mission in Somalia (Amisom), Paddy Ankunda, told the BBC that African Union troops, backed by interim government soldiers, were now in control of the whole area and had even extended their reach beyond the suburb, which had been the closest militant-held area to the capital.
Last October, Amisom tried to capture Deynile but were repulsed and suffered heavy casualties.
After that offensive, al-Shabab, which has since merged with al-Qaeda, displayed the bodies of 70 uniformed soldiers who they said were Amisom troops.
This was denied by the AU but observers believe it was the biggest loss of life in a single operation that they had suffered since their arrival in 2009.
BBC Somali Service analyst Mohamed Moalimu says Deynile is an important area to control as it also gives direct access to many other parts of the country, including Afgoye to the south-west and Balad to the north-west.
Somalia has been without an effective central government since 1991 and since then has been convulsed by conflict.
The UN-backed government only controls Mogadishu.