Heat the oil in a large stockpot or dutch oven, add the onions and leeks and saute until softened. Add the fennel and garlic and saute until aromatic.
Add all of the remaining ingredients except the fish and/or shellfish and bring to a boil. Cover, lower heat and simmer for 20 minutes.
While the stock is simmering, cut the fish into bite-sized portions. Bring the stock back to a rapid boil, add the fish and cook for 1 minute.
Add the shellfish (if using) and continue to boil until shells open, approximately 1 minute. Shake the pot occasionally to encourage clam and mussel shells to open. If using shrimp, turn off the heat as soon as the shrimp lose their gray translucency. Any longer than this and they become tough and overcooked. Depending on your pot and burner, this will probably be about 2-3 minutes.
Serve hot with wedges of Broa either on the side or in the dish with the soup ladled over.