At least 100 others were injured in the attack in the central Zahra district of the western city, the British-based Syrian Observatory for Human Rights said.
Footage from pro-Damascus television channels showed charred corpses buried by rubble, damage to shop fronts and debris littering a wide area. Plumes of smoke rose from burning cars and wounded people walked around dazed.
State television said at least 32 people had been killed.
Islamic State claimed responsibility for the two car bombs through Amaq, a news agency that supports the militant group.
A bomb attack claimed by Islamic State last month in Homs killed at least 24 people as government forces took back some Islamic State-held villages in Aleppo province in the north.
Sunday’s attacks also came a day after government advances against Islamic State.
A bomb attack killed 32 people in Homs in December after a ceasefire deal paved the way for the government to take over the last rebel-controlled area of the city, which was a centre of the 2011 uprising against President Bashar al-Assad.
Violence rages on unabated across the country as world powers and the United Nations push to end the five-year-old conflict, meeting in Geneva to try to broker a ceasefire.
Peace talks were suspended almost immediately earlier this month as Syrian government forces and their allies, backed by Russian air strikes, intensified assaults against insurgents in Aleppo province.
The latest fighting in the north of the country has displaced tens of thousands of people, many of whom headed for the Turkish border. The exodus added to more than 11 million already displaced by the conflict, which has claimed 250,000 lives.