Naan, rice, yogurt and quartered cucumbers, for serving
In a large bowl, whisk the lemon juice, cumin and 1 heaping tablespoon turmeric with 1 tablespoon water to make a thin paste. Drain and pat the tofu dry then cut it into 1-inch cubes. Add it to the turmeric marinade, gently stirring to coat. Set aside at room temperature while you prepare the remaining ingredients, or cover and refrigerate for up to 1 day.
In a large pot over medium heat, melt the butter. Add the onions and chile powder, and cook, stirring frequently, until onions are translucent, about 5 minutes. Lower the heat, add the ginger and garlic and cook, stirring occasionally, until the onions are starting to brown, about 5 minutes.
Add the tomatoes and their juices, gently crushing the tomatoes with your hands as you go. Add the cinnamon stick, paprika and sea salt along with the remaining 1 teaspoon turmeric. Cook until the tomatoes and onions break down and the sauce is the consistency of a thick ragù, about 10 minutes. Blend with an immersion blender, or transfer to a blender and purée until smooth. Return to the pot.
Gently stir in the cream and the tofu and its marinade. Simmer over low heat, uncovered, until the tofu has taken on the color of the sauce and is flavored all the way through, about 5 minutes. Stir occasionally but gently, so the tofu doesn’t fall apart. Transfer the tofu and sauce to a deep platter or large shallow serving bowl and sprinkle with scallions and cilantro. Serve with warm naan, rice, yogurt and cucumbers.