Heat the olive oil in a large pot over medium heat. Add the onion and cook until softened, about 5 minutes. Stir in the garlic and cook for 1 minute more.
Add the diced potatoes and stir to coat them in the oil. Cook for 3 minutes.
Pour in the white wine and let it simmer for 2 minutes to reduce slightly. Add the crushed tomatoes, fish broth, oregano, red pepper flakes, salt, and black pepper. Bring the mixture to a gentle boil.
Reduce the heat to low, cover the pot, and simmer for 15 minutes until the potatoes are tender.
Add the halibut pieces to the pot. Simmer uncovered for 5 to 7 minutes until the fish flakes easily with a fork.
Stir in the chopped parsley. Ladle the stew into bowls and top with fresh basil leaves before serving.