A BBC reporter says politicians are among the injured and 10 people are reported to have died.
The Islamist al-Shabab group, which is affiliated to al-Qaeda, says it is behind the attack.
The Somali Youth League (SYL) Hotel is a popular meeting place for officials and has been targeted before.
Local media report that a security conference was scheduled to take place at the hotel yesterday morning.
The BBC’s Ibrahim Aden in Mogadishu says politicians and journalists are among the 22 people being treated at the city’s main Medina Hospital.
An eyewitness told the BBC Somali Service he did not believe there were gunmen present at the hotel, contrary to some early reports.
In previous attacks, a bomb at a perimeter fence has been followed by an assault by militants.
Al-Shabab is fighting to oust Somalia’s UN-backed government and establish an Islamic state.
It was forced out of Mogadishu five years ago by African Union (AU) and government troops, but has continued to carry out bombings in the city.
The group appears to be stepping up its attacks ahead of planned elections in Somalia, with a president due to be elected by MPs in October.