The explosion occurred as worshippers left the Bilal al-Habshi mosque in the neighbourhood of Akrama after attending Friday prayers, state TV reports.
The area is largely populated by President Bashar al-Assad’s minority Alawite sect.
Homs has been a key battleground between government forces and rebels, with large parts of the city in ruins.
Earlier this week, the army launched another major offensive to recapture opposition-held areas in Homs’ Old Quarter.
‘Theatre of death’
Syrian state TV blamed Friday’s bombing on what it called “terrorists”, and said the casualties included woman and children.
Activist groups on the rebel side said as many as 30 had died, describing the bomb blast as a “massacre” carried out by the regime.
The attack came as fighting was raging a short distance away in the Old Quarter, where more than a thousand rebel fighters are believed to be holding out against the renewed government offensive, the BBC’s Jim Muir reports.
An official military statement said that army forces were moving slowly forward and tightening the noose on the rebel-held areas, which have been under siege for over a year and a half, our correspondent says.
The clashes in Homs have claimed thousands of lives, and large areas of the city have been reduced to rubble.
Under an agreement brokered by the United Nations, a brief truce was established in February and around 1,400 trapped civilians were evacuated from the Old Quarter.
But further negotiations broke down and heavy fighting erupted again.
The UN special envoy for Syria, Lakhdar Brahimi, earlier appealed for talks to be resumed on lifting the siege, saying Old Homs had again become a “theatre of death and destruction”.
More than 150,000 people have been killed in the Syrian conflict, with millions forced to flee their homes.