Cook the Beans: Place the washed red beans in a large pot and cover with water by at least 2 inches.
Add the cayenne pepper.
Bring to a boil, then reduce the heat to a simmer and cook until the beans are almost tender, about 1 to 2 hours. 2.
Sauté the Aromatics: While the beans cook, heat the oil in a deep skillet or large pot over medium heat.
Once hot, add the minced ginger, garlic, fennel seeds, cinnamon, cloves, cardamom, bay leaf, and turmeric.
Cook, stirring constantly, for about 1 minute until fragrant. 3. Create the Tomato Base: Add the chopped tomatoes to the skillet with the spices.
Cook, stirring occasionally, for about 5-7 minutes, until the tomatoes soften and break down into a sauce. 4.
Combine and Simmer: Drain the cooked beans, reserving about 1 cup (240 ml) of the cooking liquid.
Add the drained beans to the tomato sauce along with a generous pinch of salt.
Stir to combine. 5.
Finish the Curry: Continue to cook over medium-low heat for another 15-20 minutes, or until the beans are fully tender and have absorbed the flavors of the sauce. If the curry becomes too thick, add a splash of the reserved bean cooking liquid. 6.
Season and Serve: Stir in the garam masala.
Taste the curry and adjust the salt and cayenne as needed.
Remove the bay leaf before serving hot with rice or naan.