The attack took place at the Dayah hotel, where some members of parliament were thought to be staying, police said on Wednesday.
Detailed casualty figures remain unclear but emergency services said dozens of people died in the attack.
The Islamist militant group al-Shabab has said it carried out the attack.
The Reuters news agency quoted a police officer, Major Mohamed Ahmed, as saying: "At least 13 people, including forces and civilians, died in two blasts at the hotel. A dozen others were injured.
He added that the death toll could rise.