Peel and chop onions. Finely slice fennel (or carrots) crosswise. If you have the green feathery fonds on you fennel, chop them and save for serving.
Heat a generous glug of oil in a large pot. Add onions, fennel (or carrots) and cook on a medium heat, covered and stirring occasionally for 10-15 minutes or until all the vegetables are soft but not browned.
Add the tomato puree, 1 1/2 cups water and saffron (if using). Bring to a simmer.
Add fish and gently simmer for 2-3 minutes or until fish is cooked through.
Taste & season. Top with reserved fennel fronds (if you have them) and serve with mayo on top.