Slideshow:More Spinach Recipes
In the sink, line a large colander with 4 layers of moistened cheesecloth, leaving 2 inches of overhang. In a very large saucepan, bring the milk and 2 cups of the cream to a simmer over moderate heat, stirring occasionally, about 20 minutes. Reduce the heat to low and slowly add the vinegar, stirring constantly, then cook until the milk separates into fluffy curds and watery whey, about 2 minutes. Pour into the colander and let drain for 1 hour.
Gather the corners of the cheesecloth and twist the curds into a ball, squeezing out as much liquid as possible. Tie the cheesecloth, then transfer the curds to a work surface with the twisted end to the side. Set a cutting board on top and weigh it down with heavy skillets or large cans. Let the curds stand until firm and dry, about 15 minutes. Remove the cheesecloth and cut the cheese into 1-inch pieces.
In a large nonstick skillet, heat 1/4 cup of the ghee until shimmering. Season the cheese with salt and add half of it to the skillet. Cook over moderate heat, turning often, until the cheese is golden on all sides, 6 to 8 minutes. Using a slotted spoon, transfer to a plate. Repeat with the remaining cheese.
Add the remaining 1/4 cup of ghee and the onion to the skillet and cook over moderate heat, stirring occasionally, until the onion is lightly browned, about 10 minutes. Add the ginger, garlic, cumin, turmeric, coriander, chili powder and cayenne and cook, stirring, for 2 minutes. Add the spinach and tomato and cook, stirring, until warm, about 2 minutes. Stir in the remaining 11/2 cups of cream and 1 cup of water and cook, stirring, until most of the liquid is evaporated, about 5 minutes. Fold in the cheese, season with salt and white pepper and serve.
The precooked cheese can be refrigerated for up to 3 days.
Swap the frozen spinach for a mix of fresh stemmed kale, amaranth and watercress.