Peel and chop the onion, garlic, and ginger.
Peel the sweet potatoes and cut them into ½-inch cubes.
Press the tofu in a tofu press. Cut it into ½-inch cubes.
Wash and drain spinach leaves.
Heat the frying pan or wok over medium heat and add the coconut oil. Add chopped onions and sauté them for 3-4 minutes.
Add chopped garlic and minced ginger and cook for 2 minutes.
Add all spices (garam masala, cumin, turmeric, curry powder, chili flakes). Stir well and cook for 2 minutes.
Add diced tomatoes, sweet potatoes, and tofu cubes. Stir well.
Add full-fat coconut milk (canned, shaken). Stir well. Bring it to a boil.
Cover with a lid and cook on medium heat for 10 minutes.
Add spinach leaves and cook for 2-3 minutes.