Heat 2 tbsp oil in a large pan. Add the sliced onion, ginger, garlic and remaining spices. Cook, stirring often, to ensure that nothing sticks to the pan. The onions will become transparent and the spices will bloom giving off a wonderful aroma.
Once the onion is cooked, scrape the onion and spice mixture into a food processor. blend until a smooth paste is formed.
In the same pan, add the remaining 2 tbsp of oil and fry the beef until browned on all sides. Stir in the curry paste from the food processor along with the tomato paste and cook for 40 minutes on medium low heat, stirring often.
Add the chopped cilantro and cook another 5 minutes.
Stir in the yogurt, cook 5 minutes and serve with rice or naan bread.