In a large pot or Dutch oven, heat olive oil over medium heat. Add the onion, garlic, fennel, and leek. Saut until the vegetables are softened and translucent.
Stir in the diced tomato and tomato paste, cooking for a few minutes to release their flavors.
Add the saffron threads, fish or vegetable broth, and white wine to the pot. Bring the mixture to a simmer.
Season the broth with salt and pepper to taste.
Gently place the fish chunks into the simmering broth. Cook for about 10 minutes, or until the fish is just cooked through and tender.
Add the shellfish to the pot, ensuring they are submerged in the broth. Cover and cook for an additional 5-7 minutes, or until the shellfish have opened.
Discard any unopened shellfish and adjust the seasoning if needed.
Ladle the Bouillabaisse into serving bowls, ensuring each portion has a variety of fish and shellfish.
Garnish with fresh parsley.
Serve the Bouillabaisse hot, accompanied by crusty bread and rouille on the side.