Rinse all veggies so they are free from dirt. Cut off any blemishes or scars.
Cut larger carrots and celery into 3-4 inch pieces. Cut onions, garlic, mushrooms, and fennel in half.
Place everything into a large stockpot. Fill with cool water.
Place the pot uncovered over medium heat until it begins to simmer. Then turn to low to medium-low to maintain a simmer.
Leave the pot uncovered and simmer for 3-4 hours until the water has reduced by a third and the desired taste has been achieved.
Place a fine-meshed sieve over a large bowl and pour the stock through the sieve. Place strained stock in containers and refrigerate or freeze. Discard strained veggies.
Cool and store in the refrigerator for 5-7 days or in the freezer for up to one year.
Notes
This vegetable stock is flexible with the ingredients you use. Feel free to use what you have on hand. However, avoid using cruciferous vegetables such as broccoli, cauliflower, Brussels sprouts, or cabbage. They will add a bitter taste that isn't pleasant.
Keep the pot uncovered. You want the stock to reduce, so the steam needs to evaporate.
Add salt if desired after the stock has been strained. I usually leave it unsalted and season the final dish instead. That way, I can control the salt level based on what I'm making.