Heat 2 tbsp of the oil in a pan over medium-high heat. Cook the beef, in batches, for 4-5 minutes or until beef is browned, turning occasionally. Pour the beef and the juices into the slow cooker.
Heat 2 tbsp of the oil in the same pan and cook the onions for 2 minutes. Add the ginger, garlic and chilies and cook for another 2 minutes or until the onion is translucent.
Add the cumin, coriander and turmeric. Mix until fragrant about 1 minute. Pour mixture into the slow cooker.
Add the can of diced tomato into the slow cooker with the liquid. Stir everything in the slow cooker, making sure everything is covered in the liquid.
Cook for 8 hours on low.
Allow to cool slightly, then add the garam masala and yogurt, and stir. Season with salt and pepper to taste. Cook for another 30 minutes.
Serve over rice and garnish with cilantro.