Rinse the kidney beans in a fine-mesh strainer and soak them in water for at least 4 hours or overnight. Drain the water and rinse the beans again.
In a large pot, bring 4 cups of water to a boil. Add the kidney beans and reduce the heat to low. Cover the pot and simmer for 30-40 minutes until the beans are soft and tender.
In a separate skillet or frying pan, heat the olive oil over medium heat. Add the onion, garlic, and ginger and cook for 3-4 minutes until the onion is translucent.
Add the ground cumin, ground coriander, turmeric powder, cayenne pepper, and salt. Stir well and cook for 1-2 minutes until fragrant.
Add the chopped tomatoes and cook for 5-6 minutes until they have softened and released their juices.
Add the tomato mixture to the pot with the kidney beans. Stir well to combine.
Cover the pot and simmer for an additional 10-15 minutes until the flavors have melded together and the rajma masala has thickened.
Serve the Rajma Masala hot with rice or naan bread. Garnish with fresh coriander leaves, if desired.