Pat and season the beef: Pat the beef dry with paper towels and season generously with salt and pepper. Dry beef sears better and develops more flavor.
Brown the beef: Heat olive oil in a large pot or Dutch oven over medium-high.
Sear the beef in batches until browned on all sides, about 6–8 minutes per batch. Transfer to a plate; don’t crowd the pot.
Cook the aromatics: Reduce heat to medium. Add onion, carrots, and celery.
Cook 5–6 minutes, stirring, until they soften. Add garlic and cook 30 seconds, just until fragrant.
Add tomato paste and herbs: Stir in tomato paste, thyme, oregano, and bay leaf. Cook 1 minute to caramelize the paste.
This boosts the soup’s depth.
Deglaze and add liquids: Pour in a splash of broth and scrape up browned bits from the bottom of the pot. Return the beef and any juices, then add the remaining broth, diced tomatoes, and Worcestershire sauce.
Simmer the base: Bring to a boil, then reduce to a gentle simmer. Cover and cook 45 minutes, stirring occasionally.
This tenderizes the beef and builds flavor.
Add root vegetables: Stir in the potatoes and green beans. Simmer uncovered 15–20 minutes, or until potatoes are nearly tender.
Finish with tender veggies: Add corn and peas. Simmer 5–7 minutes more.
Taste and adjust seasoning with salt and pepper.
Garnish and serve: Remove the bay leaf. Ladle into bowls and top with chopped parsley. Serve with crusty bread if you like.