Rinse the dried kidney beans and soak them in water overnight or for at least 6-8 hours. Drain the water before cooking.
In a pressure cooker or a large pot, add the soaked kidney beans with fresh water. Cook until the beans are tender and easily mashable. If using a pressure cooker, cook for about 5-6 whistles; if using a pot, simmer for 40-45 minutes. Set aside.
Rinse the basmati rice thoroughly and soak it in water for 20 minutes. Drain the water. In a pot, add the soaked rice with 4 cups of water and a pinch of salt. Cook the rice until it is fluffy and fully cooked. Set aside.
Heat oil in a large pan or skillet over medium heat. Add cumin seeds and let them splutter. Then, add chopped onions and saut until they turn golden brown.
Add minced garlic, grated ginger, and slit green chilies (if using) to the pan. Saut for a minute. Then, add turmeric powder, red chili powder, ground cumin, and salt. Mix well.
Pour the tomato puree into the pan and cook the mixture for about 5 minutes until the raw smell of the tomatoes disappears. Stir occasionally.
Once the gravy thickens and the flavors meld together, add the cooked kidney beans along with some water. Adjust the consistency of the gravy according to your preference. Simmer for another 10-15 minutes.
Sprinkle garam masala over the rajma