In a pan, heat up the oil, add the cubed beef, season with salt and pepper, and brown.
Remove it from the pan, and set aside.
In the same pan, add the peeled and chopped onion, and frying on a low to medium heat until golden.
Add the garlic, ginger and all the spices, and give it a good stir.
Leave to cook for about 30 seconds or so for the flavours to be released.
Add the chopped tomatoes, and leave to cook until slightly mushy.
Add the cubed beef and half of the stock, and turn the heat to medium.
Place a lid on the pan and leave it to cook until the beef is tender, adding the rest of the stock as needed.
Once the beef is tender, and the sauce is reduced, add the yogurt (make sure the yogurt is at room temperature so it doesn't curdle), and leave to cook for a further 5 minutes.
Season with salt and pepper to taste.
Remove from the heat, and garnish with fresh parsley.