Angriparna gick in på Ambassador Hotel på Maka al-Mukarama gatan efter att ha avfyrat en bil bomb vid grindarna utanför, sade vittnen.
Somalias statliga nyhetsbyrå sa att två parlamentsledamöter dödades i explosionen, med ytterligare fyra räddade.
Den militanta gruppen al-Shabab var snabb att säga att den låg bakom attacken.
BBC:s somaliska servicereporter Ibrahim Aden i Mogadishu säger att explosionen är en av de största att träffa staden och omfattningen av förstörelse är enorm.
Somalias statliga nyhetsbyrå Sonna sa att minst 50 personer skadades och att dödssiffran sannolikt skulle öka.
Den döpte de döda till Abdullahi Jama Kabaweyne och Mohamoud Mohamed Gure.
Chefen för stadens Ambulans Ambulans har sagt till BBC att huvudsjukhuset i Medina är överfullt.
"Jag var den första som kom fram till scenen. Skadan var enorm, sa dr Abdulkadir Andirahman Haji Aden.
"Min bror och hans son var bland de skadade. Vi är nu på Medinas sjukhus och det är fullt av sårade människor. Jag har aldrig sett något liknande."
Al-Shabab, som kämpar mot den FN-stödda regeringen, drevs från Mogadishu 2011 men är fortfarande ett starkt hot och utför ofta attacker i staden.
Regeringen, med hjälp av Afrikanska unionens styrkor, bekämpar al-Qaida-anknutna grupper för att återta kontrollen över landet.
Tidigare på onsdagen meddelade regeringen att den hade dödat Mohamed Kuno, den al-Shabab militant som ledde attacken mot Garissa University i Kenya i april 2015 som dödade 148 personer.
Han var en av 16 militanta al-Shabab - fyra av dem är högre ledare - som dödades i en över natten räd mot deras konvoj i Kismayo, en hamnstad i södra Somalia.
Vapenmän har stormat ett hotell i centrum av den somaliska huvudstaden Mogadishu, med rapporter om minst 10 döda och 50 skadade.