Drain tofu and pat dry (we skip the pressing as it can make the texture of the tofu too dry). Slice the blocks into ½" slabs and tear each slab into bite-sized chunks, place in a bowl.
Drizzle coconut oil over the tofu along with salt, and garam masala. Toss gently to coat. Lay tofu on a lined sheet pan and bake at 425°F for 25 minutes.
In a large heavy bottom pot or Dutch oven over medium-high heat, add coconut oil or ghee, shallot, garlic, ginger, and serrano chili, reduce heat to medium to prevent burning, stirring frequently about 2 minutes until fragrant and golden. Add garam masala, coriander, cumin, turmeric, paprika and salt. Stir 1-2 minutes to bloom the flavor of the spices.
Stir in the tomato paste, broth, crushed tomatoes, fenugreek leaves, and coconut milk. Let simmer about 5-10 minutes. (Feel free to blend at this point for ultra smooth.) Add the tofu.
Add salt, more spice or a squeeze of lemon juice if needed over basmati rice, baby spinach, with naan or roti. Top with fresh cilantro and a wedge of lemon.
