Start by marinating the chicken - if not already in small pieces, chop to reasonable bite size. Put in a bowl, and add enough soy sauce to change the color slightly (~1 tablespoon soy sauce for 1 pound chicken). Mix in a small amount of corn starch (~1 teaspoon) to help seal in the chicken's taste. Set aside for an hour.
After chicken has marinated, heat oil. When hot, saute onions, add chicken and saute until opaque. Use coconut cream as needed to add moisture to the chicken and avoid sticking or burning. Add the vegetables that require more time, e.g. carrots or potatoes (alternatively, you can already soften the potatoes by boiling them ahead of time or microwaving them in small chunks). Add mushrooms and all other vegetables. Then, add the coconut milk, tofu and any pre-softened veggies. Add one block of curry paste at a time, giving it time to dissolve, until the flavor suits you. Finally, add basil and let the curry simmer a while, to bring out the full taste.
If more spice is desired, you can add fresh Thai chili peppers or jalapenos - remember to fish them out prior to serving! The curry can be served over rice (white or brown), noodles (also as a soup), or with na'an-like bread.