Heat oil in wok or frying pan and lightly fry onion until softened.
Add raw meats now and brown in pan - if the meats are already cooked then add later with canned tomatoes and heat thoroughly through.
Add all the spices and or curry powder. fry with onion and meat for a couple of minutes to bring out the flavours.
Add vegetables and stir for a couple of minutes.
Add tomatoes, nuts and any cooked meat. Season and simmer for 10 minutes to thoroughly heat through and for the tomatoes to reduce into a thick sauce. This is best with a lid on to start with but if your pan does not have one, just top up with a little water if the mixture looks too dry.
Now boil rice in lightly salted water according to the timing on the packet - usually about 10 minutes.
Drain rice and divide between 2 heated plates. Stir yoghurt into curry and heat gently for a couple of minutes - do not boil - and serve with rice.