Place a large lidded pan over medium heat and add the oil.
Once hot, add the mustard and cumin seeds.
Stir for about a minute until they begin to pop.
Add the diced onions and fry for 10 to 12 minutes, stirring occasionally, until they are soft, translucent, and beginning to caramelize at the edges.
Stir in the crushed garlic and grated ginger and cook for another 3 minutes until fragrant.
Add the canned tomatoes, crushing them with your hand or a spoon as they go into the pan. Fill the empty tomato can one-third of the way with water and add that to the pan as well.
Simmer for 10 minutes, stirring occasionally, until the sauce has reduced to a thick, dry paste.
Add the drained chickpeas and stir to coat them in the paste.
Cook for 2 minutes, then stir in the ground coriander, ground red chile, turmeric, and salt.
Add the spinach in large handfuls. It will seem like too much, but fold it into the chickpea mixture as best you can. It will wilt down significantly.
Cover the pan and cook for about 5 minutes, or until the spinach is soft and tender.
Serve immediately with fresh chapatis or basmati rice, and a dollop of yogurt.
Don't overcook the spinach.
Add it at the very end and cook just until it wilts to maintain its vibrant green color and fresh flavor.