Hearty, creamy, and oh so flavorful butter chicken, but made vegan. This version uses tofu, but doesn't sacrifice any bit of flavor or creamy texture.
In a large skillet over medium heat, melt 2 tbsp vegan butter. Add cinnamon stick, cloves, cardamom, cumin, garam masala, and turmeric. Stir until a smooth paste forms. Cook for 1 minute to allow the spices to toast. It will become fragrant and turn a darker brown (but make sure you don't burn the spices). Add onion, garlic, and ginger. Stir to coat them in the spice paste. Cook for 3-4 minutes until onions are soft.
Add tomato puree, coconut milk, water, and salt. Bring to a simmer and cook for 8 minutes. This will be enough time for the tomato flavor to subside a bit and mend all the flavors together. Take the tofu and tear it into rough pieces, about a golf-ball sized each. Add to the sauce and stir to coat. Cook for an additional 4 minutes. Season with salt if needed.
Serve butter tofu with basmati rice and top with fresh cilantro and a squeeze of fresh lime juice.