Boil 1 1/2 quarts of water with 1 onion, celery, carrot and a little salt. Bring to boil. Add fish and cook for 5 minutes. Drain fish and keep liquid. Strain liquid. Remove head, tail and bones from fish. Flake meat into pieces. Cook pasta.
Add 2 tablespoons olive oil to saute pan. Add garlic and remaining chopped onion to oil. Add fish and saute gently for 1 minute. Add white wine. Reduce until all wine has evaporated. Add the 2 remaining tablespoons oil to another pan and saute zucchini and mushrooms until almost tender. Add to pan with fish along with fava beans, asparagus and tomato. Quickly toss. Add in a little stock, pepper flakes and parsley. Toss with pasta and serve.