If using dried beans, drain and rinse the soaked beans. In a large pot, cover the beans with fresh water and bring to a boil. Reduce heat and simmer for about 1-1.5 hours, or until tender. Drain and set aside. If using canned beans, simply drain and rinse.
Heat the vegetable oil in a large pot or Dutch oven over medium heat.
Add the diced onion and cook until softened and translucent, about 5 minutes.
Stir in the minced garlic, grated ginger, and Scotch bonnet peppers. Cook for another minute until fragrant.
Add the diced tomato and cook for about 2-3 minutes, until the tomato starts to break down.
Add the beef or pork pieces to the pot and cook until browned on all sides.
Pour in the coconut milk and water or beef stock. Stir well to combine.
Add the allspice, dried thyme, cubed potato, and sliced carrot. Bring to a boil.
Reduce the heat to low, cover, and simmer for about 30 minutes, or until the meat is tender and the potatoes and carrots are cooked.
Gently add the beans to the pot and stir. Simmer for an additional 10-15 minutes to allow the flavors to meld and the sauce to thicken.
Adjust seasoning with salt and black pepper to taste.
Enjoy your meal!