Prep the beef: Pat the beef dry with paper towels. This helps it cook evenly and prevents watery gravy.
Sprinkle with a little salt and pepper.
Layer the ingredients: Add the beef to your slow cooker or a heavy Dutch oven. Scatter the sliced onion and garlic over the top.
Make the sauce: In a bowl, whisk together beef broth, onion soup mix, Worcestershire sauce, soy sauce, thyme, and smoked paprika. Pour over the beef.
Add aromatics: Toss in the bay leaf if using.
Give everything a quick stir to coat.
Cook low and slow: Slow cooker: Cook on Low for 7–8 hours or on High for 3.5–4 hours, until the beef is fork-tender.
Oven method: Cover the Dutch oven and bake at 300°F (150°C) for 2.5–3 hours.
Stovetop: Simmer covered on low heat for 2–2.5 hours, stirring occasionally.
Thicken the gravy: Mix cornstarch and water to make a slurry. Stir it into the hot liquid. Cover and cook 10–15 more minutes until the gravy thickens.
Stir in butter for extra richness, if desired.
Taste and finish: Remove the bay leaf. Taste and adjust salt and pepper. Sprinkle with parsley.
Serve: Spoon the beef and gravy over mashed potatoes, buttered noodles, rice, or creamy polenta.