1) Get the noodles ready
If using fresh or refrigerated rice noodles: Gently separate them. If they’re stiff, microwave for 20 to 30 seconds or rinse quickly under warm water, then drain well.
If using dried rice noodles: Soak in hot water until flexible but not fully soft, 8 to 12 minutes (timing depends on brand). Drain well and set aside. If your noodles like to clump, toss lightly with a teaspoon of oil and keep them covered while you cook. They’ll finish cooking in the pan.
2) Mix the sauce
In a bowl, whisk together oyster sauce, light soy sauce, dark soy sauce (if using), fish sauce, sugar, and water or broth. The water helps dissolve the sugar and loosens everything so it coats fast. Set it next to the stove. You’re about to move fast.
3) Sear the protein
Heat a wok or large skillet over high heat until it’s properly hot. Add 1 tablespoon oil. Add the protein in a single layer and cook until browned and just cooked through, 2 to 4 minutes. For chicken, cook to 165°F/74°C. For shrimp, cook until opaque. Transfer to a plate.
4) Aromatics, then veggies
Add the remaining 1 tablespoon oil. Add garlic and chilies (or chili paste) and stir-fry for 15 to 30 seconds, just until fragrant.
Add onion, bell pepper, and green beans. Stir-fry 2 to 3 minutes until crisp-tender. You want color and snap, not mush. If you’re using a skillet, avoid crowding. If it looks packed, cook the veggies in two quick rounds so you’re stir-frying, not steaming.
5) Noodles + sauce, then basil
Keep the heat high. Add noodles and the cooked protein back to the pan. Pour in the sauce. Toss constantly with tongs for 1 to 2 minutes until the noodles are glossy, lightly charred in spots, and the sauce clings.
If the noodles look dry, add a splash of water. If they look soupy, keep tossing over high heat and let it reduce.
Turn off the heat. Add spinach or cabbage (if using) and the Thai basil. Toss just until wilted and ridiculously fragrant, about 20 seconds.
6) Serve
Serve immediately with a squeeze of lime. If you like extra heat, add chili crisp at the table.