Blend onion, ginger, chilli and 2 tbsp of water until completely smooth.
Heat the oil in a large, deep, non-stick frying pan, carefully add the puree and cook for 10 minutes until reduced and golden.
Add the spices and cook for 2 minutes. add the tomatoes and bring to a simmer. Season and add the potatoes and chickpeas along with ½ tin worth of water and simmer for 30 minutes until thickened and the potatoes are cooked through.
Add the spinach and cook for few minutes to wilt. Stir in the lemon and garam masala and serve.