Heat half of the oil in a frying pan and fry the beef pieces for 4-5 minutes, or until browned all over. (You may need to brown the meat in batches.) Tip the browned meat into the slow cooker.
Heat the remaining oil in a frying pan and fry the onions for five minutes, then add the garlic, chilli and ginger and fry for another 2-3 minutes. Add the spices and fry for another minute, then tip the mixture into the slow cooker.
Add the chopped tomatoes to the slow cooker, then fill one of the empty cans with water and add the water to the slow cooker.
Stir everything together, pressing down so that everything is covered in liquid and cook for 8-10 hours on low.
About 30 minutes before serving, stir in the garam masala and yoghurt and season to taste with salt and a little more chilli. Cook for a further 30 minutes, then stir in the coriander.
Alternatively, you can cook this curry on the hob for 2-3 hours on a low heat, or until the beef is very tender.