Heat the oil in a large Dutch oven or soup pot over medium-high heat. Add the ground beef and cook for 5 to 7 minutes, breaking it up with a spoon, until no pink remains. Spoon off excess fat if needed.
Add the onion, bell pepper, scallions, and garlic. Cook for 3 to 4 minutes, stirring often, until the vegetables begin to soften.
Stir in the jerk seasoning, thyme, and allspice. Cook for 30 seconds, just until fragrant.
Pour in the broth and coconut milk. Add the sweet potato, carrots, kidney beans, whole Scotch bonnet or habanero if using, and salt. Bring the soup to a gentle boil.
Reduce the heat to maintain a steady simmer. Cover partially and cook for 15 to 18 minutes, until the sweet potato and carrots are tender.
Remove and discard the whole hot pepper. Stir in the spinach and cook for 2 to 3 minutes, until wilted. Stir in the lime juice, then taste and add more salt if needed.
Ladle into bowls and serve hot. Offer hot sauce at the table for family members who want more heat.