Heat vegetable oil in a large pot or Dutch oven over medium-high heat.
Add the beef cubes to the pot, seasoning with salt and pepper. Brown the beef on all sides, about 5-7 minutes. Remove the beef and set aside.
In the same pot, add the chopped onion and minced garlic. Sauté for 3-4 minutes, until softened.
Stir in the tomato paste, cooking for another 1 minute.
Return the browned beef to the pot. Add the sliced carrots and diced potatoes.
Pour in the beef broth and red wine (if using). Stir in the thyme, rosemary, and bay leaves.
Bring the stew to a boil, then reduce the heat to low. Cover and simmer for about 1.5 to 2 hours, stirring occasionally, until the beef is tender.
Taste and adjust the seasoning with additional salt and pepper if needed.
Remove the bay leaves before serving. Ladle the stew into bowls and enjoy!
For a thicker stew, mix 2 tablespoons of cornstarch with 2 tablespoons of water and stir it into the stew during the last 15 minutes of cooking.