Preheat the oven to 180°C/350°F/gas 4. Heat the olive oil in a large casserole over a medium heat. Add the onion and cook for 2 minutes. Stir in the tomatoes and cook for 3 minutes. Add the celery, garlic, lemon zest and juice and cook for 10 minutes, stirring frequently. Add the potatoes and stock and bring to the boil. Reduce the heat and simmer, uncovered, for 10 minutes. Add the fish and simmer for 10–15 minutes, until the fish is cooked through.
Remove the casserole from the heat and season the stew with white pepper. Sprinkle over the Parmesan and place the casserole in the oven for 5 minutes to create a crispy topping. Ladle the stew into warmed serving bowls. Sprinkle over the herbs and serve.