Place the beef in a pot and cover it with water. Bring to a simmer and cook, covered, for 60-90 minutes.
While the beef is cooking, steam the sweet potatoes until soft, about 7-10 minutes. Remove and mash into a paste, making it as smooth as possible.
Remove the beef from the pot, reserving the liquid.
Let cool then slice the meat off the bones and set aside.
To make the chili paste, combine all the ingredients together in a food processor and blend until mostly smooth.
Heat the oil in a large, high sided skillet over medium heat.
Add the chili paste and fry for 2-3 minutes, stirring constantly to avoid burning. (If it starts to burn, just add a couple of tablespoons of the reserved beef cooking liquid).
Add the garam masala, salt and tamarind to the paste and cook for 30 seconds.
Add ½ cup of the reserved beef liquid and stir in the mashed sweet potato and crushed peanuts.
Cook for 2-3 minutes. The consistency should be close to the thickness of a thinner gravy. (If it's too thick, add more of the beef cooking liquid).
Adjust for salt. (You may need to add additional salt if you added extra beef cooking liquid - taste and adjust).
Stir in the egg noodles and beef.
Squeeze lime juice over the top and serve garnished with tofu, eggs, fried garlic, sambal and green onions.
Notes
While I steamed my sweet potato, you can also boil it.
To ensure it steams or boils quickly, cut the sweet potato into cubes. A whole potato will take longer to cook.
Make sure you mash the sweet potato until smooth. If it’s lumpy, it will make the gravy lumpy.
To make the chili paste, you will need a food processor. A blender will also work.
Don’t throw out the liquid from cooking the beef. It will be used to thin out and season the gravy.
If the gravy is too thick, just add more of the reserved beef liquid.
If you prefer this noodle dish served more as a soup, add even more reserved beef liquid.
While this is a noodle dish, you could leave out the noodles and serve the beef and gravy over some coconut jasmine rice.