Break the tofu into ½ or 1-inch chunks and add them to a mixing bowl. Season them with ginger, garlic, paprika, cayenne, and salt.
Cover the bowl and let the tofu marinate in the fridge for at least 30-60 minutes. Or, you can prepare it the night before and leave it overnight.
Once it’s marinated, preheat an air fryer to 380°F or the oven to 400℉ and line a baking pan with parchment paper.
Transfer the tofu chunks to an air fryer basket or the prepared baking pan. Air-fry/bake them for 10-15 minutes until the edges turn golden brown.
Heat the butter or olive oil in a large skillet over medium. Add in the bay leaves, cinnamon, cardamom pods, and cloves. Toast until the spices are fragrant and golden.
Add the diced onion, ginger, garlic, and chiles. Cook for 3-4 minutes, then add paprika, turmeric, tomatoes, cashews, coconut yogurt, lemon juice, and ½ cup of water. Cover and simmer for 10 minutes, or until the tomatoes are tender.
Transfer to a blender and mix on high until smooth. Strain the mixture through a fine-mesh sieve back into the pan with 1 more cup of water.
Simmer for 5 more minutes, then add cooked tofu, garam masala, coconut sugar, and salt to taste. Simmer for another 5 minutes, then serve while warm with a side of rice, naan, cilantro, etc. Happy eating!