Prepare Beef: In a large bowl, toss the beef cubes with flour, salt, and pepper until evenly coated. This step helps create a nice crust and slightly thickens the stew.
Brown Beef: Heat olive oil in a large Dutch oven or heavy-bottomed pot over medium-high heat. Brown the beef in batches, ensuring not to overcrowd the pot. Cook until nicely seared on all sides, then remove and set aside.
Sauté Aromatics: Add chopped onion to the same pot and cook until softened, about 5-7 minutes. Stir in minced garlic and cook for another minute until fragrant.
Deglaze and Combine: Pour in the red wine (if using) and scrape up any browned bits from the bottom of the pot. Stir in the beef broth, tomato paste, Worcestershire sauce, dried thyme, and bay leaves. Bring to a simmer.
Slow Cook: Transfer the browned beef and the liquid mixture from the pot to your slow cooker. Add the potatoes, carrots, and celery. Stir gently to combine. Cover and cook on low for 7-8 hours or on high for 3-4 hours, or until the beef is fork-tender.
Thicken (Optional): If you prefer a thicker stew, combine cornstarch and cold water in a small bowl to create a slurry. Stir the slurry into the stew during the last 30 minutes of cooking. Cook until the stew has thickened to your desired consistency.
Serve: Remove the bay leaves before serving. Garnish with fresh chopped parsley. Serve hot with crusty bread or over mashed potatoes.