Preheat oven to 325°F.
Season beef pieces with salt, set aside.
Heat olive oil in a dutch oven over medium high heat. Add onions and season with kosher salt. Cook, stirring often, until golden brown, about 20 minutes.
Add tomato paste and garlic, cook, stirring constantly for about 2 minutes, until rust colored.
Add flour and stir, cooking for about 1 minute.
Whisk in broth slowly, then wine. Use a wooden spoon scrape the brown bits from the bottom of the pot.
Add herbs and bay leaves and bring to a simmer, about 3 minutes.
Stir in beef, arrange so beef is partly above the liquid. Return to a simmer.
Transfer to oven and cook, uncovered for 1 hour and 45 minutes.
Remove from oven and using a spoon, scrape down the brown bits that have formed on the side of the pot. Add the potatoes and carrots to the stew, stir and rearrange meat so that it is on top of the vegetables and sticking out of the sauce as much as possible.
Return to oven and cook uncovered for another hour or until potatoes and carrots are tender.
While stew is cooking, prepare topping.
In a medium saute pan, add just enough water to cover the bottom of the pan.
Add bacon pieces, cover pan and turn heat on to medium high. Bring to a boil.
When water is boiling, remove lid and add pearl onions and carrots. Cook, stirring often, until water has evaporated.
Add mushrooms and season with just a little salt. Reduce heat to medium low.
Cook, stirring often, until vegetables are nicely browned, 20-30 minutes.
When stew is done, remove from oven, stir and again scrape browned bits from the sides into the stew. Taste stew and season with salt and pepper if needed.
To serve, spoon stew into bowl and top with some vegetable topping and fresh parsley, if desired.
Serve with bread (optional, but strongly advised).