Warm the olive oil over low heat in a saucepan large enough to hold all the ingredients. Add the carrot, celery and leeks and sauté unit the leeks are slightly translucent about 3 -4 minutes.
Add the garlic, onion and mushrooms and sauté until the onion is slight translucent about 2 minutes.
Pour in the water and bring to a boil over high heat. Us a large spoon and skim off any scum that forms on the surface if necessary. Add the tomato, thyme, marjoram and parsley. Reduce the heat to low and simmer, uncovered until the flavors are blend about 1 hour.
Strain the sock through a fine mesh sieve lined with cheesecloth or muslin into a clean contain. Season to taste with the salt and pepper.
Stock can be used immediately or refrigerate for up to 3 days or freeze up to one month.