Preheat the oven to 180°C (160° fan-forced). Place beef in a large snap lock bag or dish, add half the oil, season and mix well.
Heat a large ovenproof casserole dish over medium-high heat. Brown beef in 2 or 3 batches, setting beef aside on a plate.
Reduce heat to medium and add remaining oil. Add garlic, ginger, eschalots and curry paste and cook, stirring, for 1 to 2 minutes. Return beef and any juices to the dish, pour in stock and add curry leaves, stirring well. Bring to the boil, then cover and place in oven. Stir occasionally, adding a little water if needed to keep ingredients just covered for 1 ½ hours or until beef is almost tender.
Add coconut milk, sweet potato, eggplant and fish sauce. Remove lid and cook for a further 30 minutes, or until beef is very tender, adding beans for final 10 minutes of cooking.
Serve curry with jasmine rice, topped with fried curry leaves and toasted coconut.
You could also use topside, round or blade, reducing cooking time – cook for 1 to 1 ½ hours or until tender
Swap sweet potato with butternut pumpkin or Sebago potato and swap green beans for snake beans.
Garnish with toasted peanuts and coriander leaves if desired.