Bloom the saffron by soaking the threads in 2 tablespoons of warm water for at least 10 minutes.
Pat the fish fillets completely dry and cut into 1.5-inch chunks. Dice all vegetables into small, even pieces and mince the garlic.
Heat the olive oil in a Dutch oven over medium heat, then sauté the onion and fennel for 5-6 minutes until softened.
Add the garlic, carrot, celery, and bell pepper, and cook for another 4-5 minutes until all vegetables are softened.
Add all the ground spices and oregano to the pot and stir continuously for 1-2 minutes until fragrant.
Pour in the white wine, scrape up any browned bits from the bottom, and let it cook for 2-3 minutes until reduced.
Add the crushed tomatoes, tomato paste, fish stock, bloomed saffron, and bay leaves, then bring to a gentle boil.
Reduce heat to low, cover, and simmer for 15 minutes. Season with salt and pepper to taste.
Remove the bay leaves, gently add the fish chunks to the broth in a single layer, cover, and cook for 5-7 minutes until the fish is opaque and flakes easily.
Turn off the heat, squeeze in the lemon juice, stir in the fresh herbs, adjust seasonings, and serve immediately garnished with fennel fronds.