In a food process combine all the ingredients for the curry paste and grind it smooth. Keep it aside.
Heat oil in a nonstick skillet/pan and add cinnamon stick, cardamom, cloves, Thai basil, and thyme.
Immediately add the curry paste and saute for 7 minutes or until you get the aroma of the paste. The paste should be cooked very well to avoid any raw taste. Do not let the curry paste burn so cook on medium to low flame.
When the curry paste starts to stick to the pan add water and saute again. Cook for another few minutes until the paste is not raw and is cooked properly.
Now add all the vegetables and coat them very well with the curry paste.
Add coconut milk and mix well. At the first boil add the remaining seasonings.
Mix again and let it cook for 2 minutes.
Lastly toss in tofu and let it cook uncovered for 5 minutes.
In a serving bowl pour the Asian tofu curry and garnish with coconut flakes and lime wedges and serve warm with brown rice.
Notes
If you plan to cook way ahead and keep it, the curry may thicken a little. Just add little coconut milk according to your preference of consistency and adjust the salt, lime juice and sugar according to taste.
Feel free to squeeze more lime juice according to taste.