In a large saucepan heat 3 tablespoons (45ml) of olive oil over medium heat and gently fry the onion, garlic, half the ginger and chillies (if using) until brown. Mix in the cumin, coriander, turmeric and sour cream (add more or less to achieve desired creaminess). Add the spinach, handfuls at a time, until it cooks down and softens, about 15 minutes total. Remove from heat and allow to cool slightly.
Pour spinach mixture into a blender or food processor and add the tomato, remaining ginger and coriander. Blend for 15 to 30 seconds, or until the spinach is finely chopped. Pour back into the saucepan and keep warm over low heat.
In a medium frying pan, heat 3 tablespoons of olive oil (45ml) over medium heat, and fry ricotta or paneer until browned. Drain and add to spinach. Cook for 10 minutes on low heat. Season with salt to taste.