I've had to do a bit of research and develop my own recipe based on what flavours I like and how hot (or in my case not hot) I like it.
First you need to thoroughly wash 2 cups of chana dal then soak in a bowl of cold water for a few hours, preferably overnight.
Drain then pour into a large pot (I use a stock pot) and add enough water to just cover the chana dal. I usually bring these to the boil then cook on a low-medium heat for about 30mins.
I like to prepare my dry spices ahead of cooking and have them ready in a small bowl.
1 teaspoon chili (obviously more if you like it hot or less if you don't want a lot of heat)
2 teaspoons turmeric (gives the dish a wonderful colour - be careful though as it stains something terrible!)
2 teaspoons garam masala
2 teaspoons cumin seeds
2 teaspoons salt (it sounds like a lot but the dish isn't all that salty)
In another small dish set aside approx 1 teaspoon ginger (chopped small or grated) and 2 teaspoons garlic
Next you will need to chop 2 medium sized onions into small pieces and fry in about 3 tablespoons of oil until golden brown verging on slightly burnt. At this stage throw in all your spices including garlic and ginger and fry over a low heat for around a minute (or as long as it takes you to chop 1/2 kg of tomatoes into small pieces!) You could substitute fresh tomatoes for tinned but at this time of the year it makes sense to use fresh.
Add the chopped tomato to the spice and onion mix, gently fry until tomatoes are cooked. Once cooked, pour everything from the frying pan (tomatoes, onions and spices) into the pot with the cooked chana dal. Give it a good stir then add a handful of chopped fresh coriander and place the lid on the pot. Continue to cook over a low heat until a nice sauce develops.
PS - We buy our roti from the Indian grocer for $5 a pack of ten, it saves a lot of work in the kitchen!