At least 52 people, including doctors and nurses, have been killed in a suicide bombing that targeted a hospital inside Yemen's defence ministry complex in the heart of the capital Sanaa, according to Yemen Higher Security Committee.
Thursday's assault, which was followed by a gun battle, also left 167 people injured, the defence ministry said.
A statement by the security committee said two of those killed were Germans.
German Foreign Minister Guido Westerwelle said the victims worked for Germany's state-linked GIZ aid organisation.
The ministry said that the attackers had damaged the hospital but that the situation was now under control.
The suicide explosion was caused by a bomber who drove a car packed with explosives into the gate, media reports quoted the defence ministry as saying. The blast was followed by another car of gunmen opening fire at the ministry.
Plumes of smoke billowed across the complex, situated on the edge of the Baba al-Yaman neighbourhood.
There was no immediate claim of responsibility for the attack.
Yemen has been plagued with a series of violent attacks, as the interim government grapples with southern secessionists, al-Qaeda-linked groups and northern Houthi rebels, as well as severe economic problems inherited from veteran President Ali Abdallah Saleh who was forced out of office following protests against his rule in 2011.
Fighters were emboldened by a decline in government control over the country and seized several southern cities before being driven out in 2012 in an offensive supported by United States and drones.
Al-Qaeda-linked fighters have killed hundreds of Yemeni soldiers and members of the security forces in a series of attacks since then.
In July last year, a suicide bomber wearing a Yemeni army uniform killed more than 90 people rehearsing for a military parade in Sanaa. Al-Qaeda later claimed responsibility for the attack.
Yemen's defence minister, Major General Muhammad Nasir Ahmad, escaped a car bomb on his motorcade in September 2012 that killed at least 12 other people.