Heat the ghee in a saucepan, add the onions and cook for 3 minutes, or until soft. Add the ginger and garlic and cook for 1 minute.
Add the cumin, ground coriander, turmeric, fenugreek, chilli and salt. Cook, stirring, for 1 minute to infuse all the spices. Add the tomatoes and sugar, stir and simmer for 10 minutes.
Meanwhile, in a mixing bowl, combine the garam masala and semolina. Mix in the paneer to coat it. Heat the oil in a frying pan and cook the paneer for a few minutes until crisp and golden on all sides.
Add the spinach to the tomato sauce with 2 tablespoons water, stir and cook until wilted. Fold in the crunchy paneer. Remove the whole chilli.
Serve garnished with the fresh coriander and lemon juice.