Quick Recipe Version (TL;DR)
Quick Ingredients
- 4 lb bone-in beef short ribs
- 2 tbsp neutral oil (canola or avocado)
- Kosher salt and black pepper
- 2 large yellow onions, sliced; 6 garlic cloves, minced
- 2 tbsp tomato paste
- 3/4 cup dry red wine
- 2 1/2 cups low-sodium beef broth
- 2 bay leaves, 4 thyme sprigs
- 3 lb Yukon Gold potatoes; 6 tbsp unsalted butter; 3/4 cup heavy cream; 1/2 cup whole milk
- 2 lb carrots; 2 tbsp olive oil; 1 tsp thyme; salt and pepper
- Chopped fresh parsley (garnish)
Do This
- 1. Heat oven to 325°F. Pat ribs dry; season generously with salt and pepper.
- 2. Sear ribs in 2 tbsp oil in a Dutch oven until deeply browned on all sides; set aside.
- 3. Cook onions and garlic until golden; stir in tomato paste 1–2 minutes. Deglaze with red wine; reduce by half.
- 4. Add broth, bay, thyme; return ribs. Cover and braise at 325°F for 2 hours 45 minutes, flipping halfway.
- 5. Boil potatoes 15–20 minutes; mash with butter, warm cream, and milk. Season to taste.
- 6. Raise oven to 425°F. Toss carrots with olive oil, thyme, salt, pepper; roast 20–25 minutes.
- 7. Reduce braising liquid on stovetop 10–15 minutes. Serve ribs over mash with carrots; spoon sauce, sprinkle parsley.
Why You’ll Love This Recipe
- Classic comfort: fall-off-the-bone beef in a rich tomato-wine gravy over ultra-creamy potatoes.
- Set-it-and-forget-it oven braise with simple, familiar ingredients.
- Balanced plate: hearty protein, buttery mash, and sweet-roasted carrots with thyme.
- Leftovers taste even better—perfect for make-ahead or weekend meal prep.
Grocery List
- Produce: Yellow onions, garlic, Yukon Gold potatoes, carrots, fresh thyme, fresh parsley
- Dairy: Unsalted butter, heavy cream, whole milk
- Pantry: Bone-in beef short ribs, tomato paste, dry red wine, low-sodium beef broth, olive oil, neutral oil, bay leaves, kosher salt, black pepper
Full Ingredients
Beef Short Ribs & Braising Liquid
- 4 lb bone-in beef short ribs (6–8 meaty pieces)
- 2 tsp kosher salt, plus more to taste
- 1 tsp freshly ground black pepper
- 2 tbsp neutral oil (canola or avocado)
- 2 large yellow onions, halved and thinly sliced (about 4 cups)
- 6 garlic cloves, minced
- 2 tbsp tomato paste
- 3/4 cup dry red wine
- 2 1/2 cups low-sodium beef broth
- 2 bay leaves
- 4 fresh thyme sprigs (or 1 tsp dried thyme)
- 1 tsp Worcestershire sauce (optional, for extra depth)
- 1–2 tsp red wine vinegar or balsamic vinegar, to finish (optional)
- 2 tbsp chopped fresh parsley, for garnish
Creamy Mashed Potatoes
- 3 lb Yukon Gold potatoes, peeled and cut into 1 1/2-inch chunks
- 2 tsp kosher salt (for the boiling water), plus more to taste
- 6 tbsp unsalted butter, cubed
- 3/4 cup heavy cream, warmed
- 1/2 cup whole milk, warmed
- 1/4 tsp ground white or black pepper
Roasted Carrots
- 2 lb carrots, peeled and cut into 2-inch batons (or left whole if thin)
- 2 tbsp extra-virgin olive oil
- 3/4 tsp kosher salt
- 1/2 tsp freshly ground black pepper
- 1 tsp fresh thyme leaves (or 1/2 tsp dried thyme)

Step-by-Step Instructions
Step 1: Preheat and season the ribs
Heat the oven to 325°F. Pat the short ribs very dry with paper towels. Season all sides with 2 tsp kosher salt and 1 tsp black pepper. Slice the onions and mince the garlic so they’re ready when you need them.
Step 2: Sear the short ribs
Heat a heavy, oven-safe Dutch oven (5–7 quart) over medium-high heat. Add 2 tbsp neutral oil. Working in batches, sear the ribs until deeply browned, 3–4 minutes per side (about 8–10 minutes per batch). Transfer browned ribs to a plate; pour off excess fat if there’s more than a thin coating left in the pot.
Step 3: Build the braise with onions, garlic, and tomato paste
Lower heat to medium. Add the onions and a pinch of salt; cook, stirring and scraping up browned bits, until golden and soft, 6–8 minutes. Stir in the garlic and cook 30 seconds. Add the tomato paste and cook, stirring, until it darkens and smells sweet, 1–2 minutes. Pour in the red wine and Worcestershire (if using); simmer 2–3 minutes, scraping the pot, until reduced by about half. Add the beef broth, bay leaves, and thyme; bring to a simmer.
Step 4: Oven-braise low and slow
Return the ribs (and any accumulated juices) to the pot, meaty side down. The liquid should come about halfway up the ribs; add a splash more broth or water if needed. Cover with a tight-fitting lid and transfer to the oven. Braise at 325°F for 2 hours 45 minutes, flipping the ribs once halfway through, until a spoon slides into the meat with almost no resistance. If not tender, continue braising in 15-minute increments.
Step 5: Make the creamy mashed potatoes
About 40 minutes before the ribs are done, place potatoes in a large pot and cover with cold water by 1 inch. Add 2 tsp kosher salt. Bring to a boil, then simmer until very tender, 15–20 minutes. Drain well. Mash or rice the potatoes, then add the butter. Stir in the warmed cream and milk until smooth and silky. Season with salt and 1/4 tsp pepper to taste. Keep warm over very low heat or in a covered bowl.
Step 6: Roast the carrots
When the braise is finished, remove the pot from the oven and transfer ribs to a plate. Increase oven temperature to 425°F. On a baking sheet, toss carrots with olive oil, thyme, 3/4 tsp salt, and 1/2 tsp pepper. Roast, tossing once, until tender and caramelized at the edges, 20–25 minutes.
Step 7: Reduce the sauce and serve
Meanwhile, skim excess fat from the braising liquid. Set the Dutch oven over medium heat and simmer until the sauce is glossy and slightly thickened, 10–15 minutes. Taste and brighten with 1–2 tsp red wine vinegar or balsamic, and adjust salt and pepper. Return ribs to the pot to warm through 2–3 minutes. To serve, spoon a bed of mashed potatoes onto warm plates, top with a rib or two, add roasted carrots, and ladle sauce over the meat and potatoes. Finish with chopped parsley.
Pro Tips
- Dry meat browns better: thoroughly pat ribs dry before seasoning and searing.
- Bloom the tomato paste until brick red—this deepens flavor and sweetness.
- Wine reduction matters: reduce to a syrupy consistency to concentrate flavor before adding broth.
- Keep potatoes silky by warming the dairy and avoiding overmixing once they’re smooth.
- Make it ahead: chill the braise overnight, then lift off solidified fat and reheat for an even richer sauce.
Variations
- Slow cooker: After searing and building the sauce, transfer to a slow cooker and cook on Low 8–9 hours (or High 4–5 hours) until tender.
- No wine: Substitute with an extra 3/4 cup beef broth plus 1 tbsp balsamic vinegar for depth.
- Swap the sides: Serve over creamy polenta or buttered egg noodles instead of mashed potatoes.
Storage & Make-Ahead
Refrigerate ribs and sauce (and sides separately) in airtight containers for up to 4 days. The braise freezes well for up to 3 months; thaw in the fridge overnight. Reheat ribs gently on the stovetop, covered, over low heat until warmed through, adding a splash of broth if needed. Mashed potatoes reheat best with a bit of extra warm cream or milk stirred in to restore creaminess.
Nutrition (per serving)
Approx. 950 calories; 45 g protein; 65 g fat; 70 g carbohydrates; 4 g fiber; 1,150 mg sodium. Nutrition will vary based on exact cuts and how much fat is skimmed from the sauce.

