In a large Dutch oven or heavy pot, heat 2 tablespoons of olive oil over medium-high heat. Season the beef cubes with salt and pepper, then brown them in batches until golden brown on all sides. Remove the beef from the pot and set aside.
In the same pot, add the remaining 2 tablespoons of olive oil. Add the chopped onion and sauté until soft and translucent, about 4-5 minutes.
Add minced garlic to the onions and cook for another minute, stirring constantly to prevent burning.
Stir in the carrots, parsnips, and potatoes. Cook for about 5 minutes, letting the vegetables start to soften.
Return the browned beef to the pot. Add the beef broth, diced tomatoes, tomato paste, thyme, rosemary, and bay leaves. Stir well to combine all ingredients.
Bring the stew to a simmer, then reduce the heat to low, cover, and let it cook for about 1.5 to 2 hours, or until the beef is tender and the flavors have melded together. Stir occasionally and check if you need to add a little more broth.
Once the meat is tender, taste the stew and adjust seasoning with more salt and pepper if needed. Remove bay leaves before serving.
Serve the stew hot, garnished with freshly chopped parsley for a pop of color.