If using dried kidney beans, rinse and sort beans and place them into a large pot. Cover with approximately three inches of water and soak overnight to for 8 hours.
The following day, drain and rinse beans and place them into a large pot. Add 21/2 cups water, bring to a boil, reduce heat and simmer until beans are tender for about 45 minutes.
Add coconut milk, onion, spring onion, garlic, ginger, thyme, scotch bonnet pepper, and allspice. and salt.
Cover pot, bring to boil again for a couple of minutes for the flavors to meld (the liquid should taste very flavorful, add more salt if it's not). Add the rice, bring to a boil, cover the pot with a tight-fitting lid, reduce heat to simmer, and cook for about 50 minutes- 1 hour.
Depending on the variety of rice, it may take less time. Fluff with a fork and serve.