Heat olive oil in a large pot or Dutch oven over medium heat.
- Add onion, carrot, and celery; sauté for 6–8 minutes until softened.
- Stir in garlic and cook for 1 minute.
- Add mushrooms and cook about 10 minutes until browned and moisture has evaporated.
- Stir in tomato paste; cook 2 minutes to deepen flavor.
- Pour in red wine, scraping up browned bits. Simmer 5–7 minutes until reduced by half.
- Add vegetable broth, soy sauce, thyme, and bay leaves. Bring to a gentle boil.
- Reduce heat and simmer uncovered 20–25 minutes until slightly reduced.
- Mix flour or cornstarch with a little water to make a slurry; stir into pot and cook 3–5 minutes to thicken.
- Season with salt and pepper. Remove bay leaves and thyme sprigs.
- Serve over mashed potatoes, polenta, pasta, or bread. Garnish with parsley if desired.