Wash and soak the dried red kidney beans overnight with sufficient water, cover 2 to 3 inches above the beans.
Next morning, pressure-cook the drained beans with sufficient water on high heat for 2 whistles then reduce the heat to medium and cook for another 15 minutes. Once the pressure has stabilized, open the cooker and check if the beans are cooked. They should be soft to touch. Reserve the stock.
Heat oil in a deep bottomed pan; add all the whole spices, cumin seeds, and onions. Sauté on medium-low heat till the onions turn translucent, about 5 to 6 minutes.
Add the minced ginger garlic and sauté till the ginger garlic is fragrant.
Add the tomato puree or chopped tomatoes along with the cayenne pepper, cumin powder, black pepper powder, curry powder and 1/4 cup of water, cook stirring on medium-low heat until the water evaporates and oil is separated from sides of the pan.
Add the cooked red kidney beans along with a cup of the reserved stock; add more water if required, if you find the stock less.
Let the beans come to a boil, add the ketchup, maple syrup, and salt, give everything a good stir.
Cover the pot and let it simmer on low heat for 15 to 20 minutes until the desired consistency is achieved. You may mash some beans with the back of the ladle to make the curry thicker.
Once done, transfer to a serving dish, garnish with freshly chopped cilantro. Serve with steamed rice or any Indian flatbread.