Heat vegetable oil in a large Dutch oven over medium-high heat. Sear beef cubes until browned on all sides. Remove the beef and set aside.
In the same pot, add chopped onions and minced garlic. Stir until onions become translucent and fragrant.
Add sliced carrots, diced potatoes, and the reserved beef cubes. Stir to combine.
Pour in red wine (if using) to deglaze the pot, scraping the bottom to incorporate any browned bits. Add tomato paste, thyme, rosemary, and bay leaves.
Add beef broth to the pot, ensuring all ingredients are covered. Bring to a boil, then reduce to a simmer. Cover and cook for 2 to 3 hours, stirring occasionally. Adjust seasoning with salt and pepper.
Notes
Store in an airtight container in the refrigerator for up to 4 days, or freeze for up to 3 months in serving-size portions.