Blend the first five ingredients (for the onions, only the chopped ones here, and for the broth only ½ cup) together in a food processor until smooth.
Pour into a large pot. Bring to a boil over medium-high heat, then lower the heat and let it simmer for about 10-12 minutes.
In a skillet over medium heat, add the oil and sliced onion. Add in the seasonings.
Turn the heat to low. Stir for 1-2 minutes. Add in the curry powder and bay leaf. Stir for another 1-2 minutes.
Add tomato mixture from Step 1. Stir and let it sit for about 10 minutes with the lid halfway on, letting the mixture reduce.
Add the remaining broth to the pot and bring it to a boil on medium high heat for about one minute. Continue stirring it so it doesn't stick to the pot.
Turn the heat to low. Rinse the dry rice a few times with water in a separate bowl, until the water is not milky.
Add the rice and butter. Stir and cover with a piece of aluminum foil, then put a lid on the pot.
Keep the heat on low for 30-40 minutes. Stir it every five minutes, making sure the rice doesn't stick to the bottom of the pot.
If it starts to stick, add more broth or warm water if the rice is not fully cooked. Once cooked, remove from the heat and serve with fried plantains or mixed vegetables!