Add oil into a large soup pot or Dutch oven and place over medium heat. Add the onion, carrots and celery and cook until the vegetables are softened, about four minutes, stirring occasionally.
Add the garlic and all the spices through the black pepper, stirring to coat in the oil. Add the ground meat and cook until it's no longer pink, stirring and breaking the meat up with a spoon, about eight minutes.
Add the herbs- reserving some for garnish - pumpkin, beans, tomato, broth and two teaspoons salt. Bring to a simmer, partially cover and cook for 25 minutes, adjusting the heat so it doesn't boil.
Remove from the heat and stir in the coconut milk. Taste and adjust the seasoning, if needed. Serve in bowls garnished with remaining herbs.