The explosions, which appeared to be coordinated, went off outside two mosques as Friday prayers ended in the largely Sunni Muslim city.
One eyewitness said many of the victims were trapped in burning cars near the Taqwa mosque, which is frequented by Sunni Islamist hardliners, where the first blast occurred.
A security source said more people were killed in the second blast outside al-Salam mosque.
Ambulances rushed to the scene and heavy black smoke covered the sky. Many vehicles which had been parked nearby were crushed, with their windows smashed. People ran through the streets carrying a woman whose face was obscured by blood.
The explosions came a week after a huge blast killed at least 24 people in a southern suburb of Beirut, a Shi'ite Hezbollah militant group stronghold.
Sectarian tension in Lebanon is being stoked by the conflict in neighbouring Syria.
Many of Lebanon's Shi'ite Muslims support Syrian President Bashar al Assad, who is fighting a largely Sunni insurgency against his rule.
In a separate incident yesterday, Israel's air force bombed a militant base in Lebanon used by allies of Assad and radical Islamists in retaliation for a rare cross-border rocket salvo a day earlier.
There were no reported casualties in the Israeli raid near the Rashidiyi Palestinian refugee camp between Sidon and Beirut, or the rocket strike in Israel's northern Galilee region.
Israeli defence minister Moshe Yaalon called the air strike a "response" to the rocket fire and said he "holds the Lebanese government responsible for what happens in its midst".
An al Qaeda-associated Sunni Muslim group claimed responsibility for the attack on Israel.