Preheat the oven to 400°F.
In a large pot set over medium heat, melt the butter with the olive oil. Add the sliced onions and fennel along with a pinch of salt, and cook slowly, stirring often, until soft and deeply golden, about 30-40 minutes. If they begin to darken too quickly, lower the heat and add a small splash of water to loosen any bits from the bottom.
Stir in the balsamic vinegar and let it cook off for a minute.
Add the minced garlic and cook until fragrant, about 30 seconds. Stir in the potatoes, then pour in the beef broth.
Add the bay leaf and thyme sprigs, bring to a boil, then reduce to a gentle simmer. Cook until the potatoes are very tender, about 15-20 minutes.
Meanwhile, toss the shiitake mushrooms with olive oil, salt, and the za’atar until evenly coated. Spread them out in a single layer on a baking sheet and roast at 400°F for 15-20 minutes, or until browned and crisp at the edges.
Remove the bay leaf and thyme stems from the soup. Using an immersion blender, blend just a portion of the soup, leaving half of it textured (or lightly mash some of the potatoes to thicken the broth). Taste and adjust the seasoning as needed.
Ladle into bowls and finish with a drizzle of heavy cream, grated Parmesan, the roasted mushrooms, and fresh dill. Serve.