Heat oil in a heavy-bottomed pan over medium heat.
Add the chopped red onion and fry for a few minutes until softened.
Add crushed garlic and minced ginger and cook for another few minutes until fragrant.
Stir in mustard seeds, cumin seeds, ground cumin, turmeric, garam masala, and chili powder. Fry for about 40 seconds until aromatic, adding a little oil if needed.
Add chopped tomatoes and cook until softened and broken down into a thick curry paste.
Add diced potatoes, tomato puree, and vegetable stock. Bring to a simmer and cook for 25 minutes.
Stir in chickpeas and cook for an additional 5 minutes until potatoes are fully tender. Add more water if needed.
Garnish with fresh coriander and serve hot.