The blast could be heard throughout Jerusalem and blew out the windows of two crowded buses.
Rescuers were seen removing bloodied people from the area on stretchers.
Israel's national rescue service said 25 people were wounded, including 15 seriously. No deaths were reported.
Meir Hagid, one of the bus drivers, said he heard a loud explosion as he drove by the site, located near the main entrance to Jerusalem and its central bus station.
"I heard the explosion in the bus stop," he said. He halted his vehicle and people got off. He said nobody in his bus was hurt.
Jerusalem suffered dozens of suicide bombings that targeted buses and restaurants during the second Palestinian uprising last decade. But the attacks have halted in recent years. Jerusalem last experienced a suicide bombing in 2004.
The bombing came amid rising tensions between Israel and the Hamas militant group, which has killed hundreds of Israelis in suicide bombings and other attacks in recent years.