Ingredients
Equipment
Method
Prep and Brown the Beef
- Pat the beef cubes completely dry with paper towels - this is crucial for browning. Season generously with salt and pepper. Heat 2 tablespoons butter in a large Dutch oven over medium-high heat until foaming subsides. Working in batches to avoid crowding, sear the beef until deeply browned on all sides, about 8 minutes total. Transfer to a plate.
- Reduce heat to medium. Add the remaining 2 tablespoons butter to the pot. Once melted, add the diced onion and cook, scraping up the browned bits from the bottom, until softened and translucent, about 5 minutes. Stir in the garlic and thyme and cook until fragrant, about 1 minute.
Build the Soup Base
- Sprinkle the flour over the onion mixture and cook, stirring constantly, for 2 minutes to eliminate the raw flour taste. Gradually whisk in the beef broth, then the milk, until smooth. Stir in the Worcestershire sauce and return the browned beef and any accumulated juices to the pot.
- Add the diced potatoes and bring to a gentle boil. Reduce heat to low, cover partially, and simmer until the beef is fork-tender and potatoes are creamy, about 25-30 minutes. Stir occasionally and skim off any excess fat that rises to the surface.
Finish and Serve
- Taste and adjust seasoning with salt and pepper. The soup should be thick enough to coat the back of a spoon. Ladle into bowls and top with a dollop of sour cream and a sprinkle of fresh parsley. Serve with crusty bread for dunking.
Notes
For deeper flavor, sear the beef in batches without moving it for the first 2-3 minutes per side - this builds the fond that flavors the entire soup. Russet potatoes work in a pinch but tend to fall apart; Yukon Golds hold their shape better while still creating a creamy texture. The soup thickens as it sits - thin with additional broth when reheating leftovers.
