Soak: Add chana dal to a pot and cover with water. Let soak for 1 to 2 hours (or 8 hours, if starting in the morning before work). Strain before using.
Base: Heat oil over medium heat in a large skillet or pot, then add onion, ginger, garlic, and garam masala. Cook until onion is softened and fragrant (about 3 minutes), then add the whole can of diced tomatoes, strained chana dal, and water.
Cook: Cover and cook, stirring occasionally, until chana dal is soft enough to be pinched between two fingers (about 25 to 40 minutes). Add more water, as needed, until chana dal has cooked through. Season with salt, taste, and add more salt/garam masala as needed.
Serve: Serve warm with rice, a squeeze of fresh lemon juice, and fresh cilantro. I also love it with a dollop of plain yogurt and some homemade naan!
*If you're unable to find chana dal, you can use whole chickpeas here.
To use dried chickpeas, follow instructions as given, through they will need longer to cook.
To use canned chickpeas, use 2 (14-oz) cans, drained. Add them to the mixture and cook until hot (they will need less time to cook).