Bring a large pot of salted water to a boil.
Using the box grater, grate the onion.
Using a garlic press or Microplane, put the finely minced garlic cloves in with the onions.
Add 2 tsp of Sambal Oelek to the onion/garlic mixture.
Shred the washed cabbage and carrots into a single bowl.
Cut the leeks into small half-circles, and wash them carefully. Add them to the cabbage and carrots.
Cut the chili pepper into thin strips, and add them to the cabbage, carrots, and leeks.
When the water is boiling, add the noodles, and cook according to the instructions. If you are using non-Indonesian Bami noodles, cook them slightly shorter.
When the noodles are done cooking, drain them into a colander, and rinse them under cold water, to stop the cooking.
Put a large pot on high heat, and heat up 1tbsp of oil
When oil is hot, add the shredded onion, garlic, and sambal to the pot. Stir over high heat for 30 seconds. Lower the heat to medium, and let it cook for another 3 minutes
Increase the heat to high, and when the pot is hot, add the beef, the garam masala, and the curry powder. Using a wooden spoon, break apart the beef until it's very small pieces. Cook until the meat is cooked, about 5 minutes.
Add the cabbage, leek, carrots, and chili peppers, and stir around for 1 minute
Add the drained noodles, and stir it constantly for approximately 5 minutes. Make sure the beef, vegetables, and noodles are well combined.
Add the 4tbsp of ketjap manis to the pot, and stir it through.
Add the beansprouts, and stir them through the bami. Don't cook them too long, you don't want them to lose their crunch!