Heat the coconut oil in a large pot over medium heat. Add the diced onion and sauté until translucent, about 5 minutes.
Stir in the garlic and ginger, cooking for another minute until fragrant.
Add the mustard seeds and cumin seeds to the pot. Cook for about 30 seconds until the seeds begin to pop.
Stir in the turmeric, coriander, and chili powder, cooking for another minute to release the spices' flavors.
Pour in the coconut milk and vegetable broth, stirring to combine. Bring the mixture to a gentle simmer.
Add the cubed tofu, diced tomatoes, and green beans to the pot. Season with salt to taste. Cover and let simmer for 15-20 minutes, stirring occasionally, until the green beans are tender.
Stir in the spinach leaves and cook for an additional 2-3 minutes until wilted. Adjust seasoning if needed.
Serve hot, garnished with fresh cilantro. This curry pairs well with rice or naan.