Heat the oil in a large skillet over medium-high heat. Add the beef, onion, and garlic. Cook, stirring frequently, until the beef is browned and the onion is softened, about 5 minutes.
Add the ginger, cumin, curry powder, coriander, cardamom, cinnamon, and cloves. Cook, stirring, for 1 minute.
Stir in the molasses, tomatoes, and water. Bring to a boil, reduce heat to low, and simmer, stirring occasionally, until the beef is tender and the sauce is thickened, about 30 minutes.
Stir in the yogurt and season with salt and pepper to taste. Serve hot.
Interesting Facts
Curry powder is a blend of spices, usually including turmeric, coriander, cumin, fenugreek, and chili peppers.
Molasses is a thick, dark syrup made from boiling down sugar cane juice.
Cardamom is a spice native to India and is used in both sweet and savory dishes.