Step 1
Line a colander with a cheesecloth and place in the sink.
Step 2
Bring milk to a boil in a large pot; add lemon juice. Stir until milk separates into curds and whey. Transfer curds with a large slotted spoon to the prepared colander and allow curds to drain. Whey can be saved for another use.
Step 3
Gather cheesecloth around curds to squeeze out excess liquid and to form a ball. Return wrapped curd ball to the colander and place the whey-filled pot (or another weight) over the curd ball to press and drain completely about 20 minutes.
Step 4
Bring a large pot of water to a boil; add spinach. Simmer until spinach is wilted 1 to 2 minutes. Transfer spinach to a bowl with a slotted spoon. Drop tomatoes into the same pot of boiling water; simmer until tomato skins begin to split 3 to 5 minutes. Drain. Peel tomato skins when cool enough to handle.
Step 5
Place spinach in a blender or food processor; puree until smooth and remove spinach to a bowl.
Step 6
Place peeled tomatoes in a blender or food processor; puree until smooth and remove tomatoes to another bowl.
Step 7
Unwrap curd ball from cheesecloth; paneer should now be a solid block. Cut paneer into small cubes.
Step 8
Heat ghee in a large skillet over medium-low heat; cook and stir turmeric ground red chile powder and asafoetida powder in hot ghee until fragrant about 20 seconds. Stir in tomato puree into ghee and spices and increase heat to medium. Cover and simmer until ghee rises to the top about 10 minutes.
Step 9
Stir spinach puree and salt into tomato mixture. Continue to simmer until fragrant 5 to 10 minutes more. Add cubed paneer to skillet; cook until paneer is softened 2 to 3 minutes. Stir cream into spinach-tomato mixture cover and simmer until hot 2 to 3 minutes more.
Step 9
Remove skillet from heat and sprinkle with ground fenugreek. Cool for a few minutes before serving.