Season the fish pieces with salt, black pepper, and lime or lemon juice. Set aside.
Heat the vegetable oil in a large pot or skillet 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.
Pour in the coconut milk and water or fish 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 15 minutes, or until the potatoes and carrots are tender.
Gently add the fish pieces to the pot, making sure they are submerged in the sauce. Simmer for an additional 10-15 minutes, or until the fish is cooked through and flakes easily with a fork.
Adjust seasoning with salt and black pepper to taste.
Enjoy your meal!