The army launched an offensive attack in the area Saturday, the BBC reported.
Rebels had controlled Khalidiya for more than a year, and the capture represents the latest in recent gains by loyalist forces.
The city of Homs is seen as a symbol of the uprising against President Bashar Assad, the BBC said, and the city also links Damascus to the coast.
An official said about 80 percent of the area was under control of the government forces.
"Only the northern sector is left and that will be liberated within 24 hours," a Syrian army officer said.
Meanwhile, the Syrian Network for Human Rights said it documented 108 people died in Syria Sunday, including 16 children and five women. The London group's casualty figures have not been independently confirmed.
The network said the death toll included 29 people in Homs, 28 in Aleppo and 24 in Damascus and its environs.
Senate Democrats to pull all-nighter on climate change
Jessica Simpson shares three-way kiss with friends in photo