Rinse the dried red beans under cold water. Add to a large pot with enough water to cover by several inches. Bring to a boil over high heat and cook for about 40 minutes, or until the beans are fully tender and cooked through. Before draining, carefully ladle out and reserve exactly 1 cup of the bean cooking water.
Heat a ¼ cup of olive oil in a large pot over medium heat. Add the sliced onions. Sauté, stirring occasionally, until the onions are golden, caramelized, and sweet. Once done, remove half of the caramelized onions and set them aside in a bowl.
To the same pot with the remaining caramelized onions still in it, add the cooked red beans, the rinsed and drained basmati rice, the reserved 1 cup of bean water, the additional ¼ cup of water, 2 tablespoons of olive oil, salt, and seven spice. Stir gently to combine everything without breaking the beans.
Bring the pot to a boil over high heat. Once boiling, reduce the heat to low, cover tightly, and cook for 15-18 minutes until the rice is tender and fully cooked. Do not lift the lid during this time.
Turn off the heat. Place the reserved caramelized onions on top of the rice. Cover the pot again and let the dish rest for 10 minutes.
Gently fluff the rice with a fork and serve warm with a generous spoonful of plain yogurt on the side or directly on top.