Cut the beef into small cubes. Peel and finely chop the garlic and ginger, peel and finely slice the onions and slice the carrots into matchsticks.
Heat 1 tablespoon of oil in a large pan and brown the beef. Stir in the garlic, ginger and curry paste to coat the meat, and cook for 1 to 2 minutes.
Add 200ml water, cover and very gently cook for 45 to 50 minutes, or until the liquid has reduced.
Rinse the rice until the water runs clear, then add the rice and stock to the pan. Cover and cook on the lowest heat for 30 minutes, or until all of the liquid has been absorbed and the rice is cooked. Off the heat, allow it to sit for 20 minutes, tightly covered.
Meanwhile, heat the 2 more tablespoons of oil and slowly sweat the onions for 10 minutes. Add the carrots and curry leaves and cook for 10 minutes, or until golden.
Fluff up the rice with a fork and stir through the veg. Serve with a dollop of yoghurt and some chopped chilli (if using).