Rinse the fish fillets and pat them dry with paper towels. Season with salt and black pepper. Set aside.
Heat the vegetable oil in a large skillet or pot over medium heat. Add the chopped onion, garlic, and bell pepper. Sauté until the onion is soft and translucent.
Stir in the diced tomatoes, Scotch bonnet pepper (if using), thyme, paprika, allspice, and a bit more salt if needed. Cook for about 5 minutes until the tomatoes are softened.
Stir in the tomato paste and water or fish stock. Mix well. Add the sliced potatoes and carrots. Bring the mixture to a simmer.
Carefully place the fish fillets into the simmering mixture. Spoon some of the sauce over the fish. Cover and cook for about 15-20 minutes, or until the fish is cooked through and flakes easily with a fork.
If using, stir in the sliced green olives and soy sauce. Adjust seasoning with additional salt and pepper if needed. Garnish with fresh parsley or thyme before serving.
Enjoy your meal!