Preheat the oven to 160°c with the rack in the middle.
Pat beef dry and season with salt and pepper. In a large heavy pot, heat 1 tablespoon olive oil over medium-high heat until hot and simmering. Brown meat in 3 batches, turning, about 5 minutes per batch, adding another tablespoon of oil for each batch. (To sear meat properly, do not crowd the pot and let meat develop brown crust before turning.) Transfer meat to a large plate and set aside.
Add onions and garlic and fry for 2 minutes. Add vinegar and cook, stirring with a wooden spoon to scrape brown bits from the bottom of the pot, about 3 minutes. Add tomato puree and cook a few minutes. Return beef with juices to the pot and sprinkle with flour. Stir until flour is dissolved, 1-2 minutes. Add stock, bay leaves, thyme, and sugar; stir to loosen any brown bits from the bottom of the pot and bring to a simmer. Cover pot with a lid, transfer to preheated oven, and braise for 2 hours.
Remove pot from oven and add carrots and potatoes. Cover and place back in the oven for 50-60 minutes, or until vegetables are cooked and meat is very tender. Taste and adjust seasoning, if necessary. Add pearl onions and cook another 10 minutes. Serve immediately, garnished with fresh parsley or thyme, if desired.