Slow-Braised Beef with Rosemary Potatoes

This slow-braised beef with rosemary potatoes is the kind of cozy, low-effort dinner that tastes like you cooked all day: fork-tender beef, silky gravy, and potatoes that soak up every drop.

Slow-Braised Beef with Rosemary Potatoes Recipe

Why you’ll love this recipe

  • Big flavor from a simple sear + long, gentle braise
  • One pot does most of the work (Dutch oven recommended)
  • Family-friendly, make-ahead friendly, and great for leftovers
  • Rosemary potatoes cook right in the braising liquid for maximum flavor

Ingredients

  • 3 to 3 1/2 lb beef chuck roast, cut into 3-inch chunks
  • 2 tsp kosher salt, plus more to taste
  • 1 tsp black pepper
  • 2 tbsp all-purpose flour
  • 2 tbsp olive oil
  • 1 large yellow onion, chopped
  • 3 carrots, cut into 1-inch pieces
  • 3 celery ribs, sliced
  • 5 cloves garlic, minced
  • 2 tbsp tomato paste
  • 1 cup dry red wine (or extra beef broth)
  • 3 cups beef broth, plus more as needed
  • 2 tbsp Worcestershire sauce
  • 2 bay leaves
  • 3 to 4 sprigs fresh rosemary (or 1 1/2 tsp dried)
  • 1 1/2 lb baby Yukon gold potatoes (or quartered Yukon golds)
  • 1 tbsp unsalted butter (optional, for finishing)
  • Chopped parsley (optional, to serve)

How to make slow-braised beef with rosemary potatoes

Plan on about 20 minutes of active prep, then the oven takes over. Low and slow is what turns chuck roast into that “cut-with-a-spoon” texture.

  • Prep and season: Pat the beef dry. Season with salt and pepper, then toss with flour to lightly coat.
  • Sear for flavor: Heat olive oil in a large Dutch oven over medium-high heat. Sear beef in batches until deeply browned on all sides, 8 to 10 minutes total per batch. Transfer to a plate.
  • Build the base: Reduce heat to medium. Add onion, carrots, and celery. Cook 6 to 8 minutes, scraping up browned bits. Stir in garlic and tomato paste; cook 1 minute.
  • Deglaze: Pour in wine and simmer 2 to 3 minutes, scraping the bottom of the pot until the liquid looks slightly reduced.
  • Braise: Stir in broth, Worcestershire, bay leaves, and rosemary. Return beef (and any juices) to the pot. Bring to a gentle simmer.
  • Oven time: Cover and braise at 325°F for 2 hours.
  • Add potatoes: Add potatoes, tucking them into the liquid. Cover and continue braising 60 to 75 minutes, until beef is fork-tender and potatoes are creamy.
  • Finish the gravy: Discard bay leaves and rosemary stems. If you want a richer finish, stir in butter. Taste and adjust salt and pepper. If you’d like a thicker gravy, simmer uncovered 10 to 15 minutes.

Slow-Braised Beef with Rosemary Potatoes Recipe

Key tips for the most tender beef

  • Don’t rush the sear: Deep browning builds the backbone of the gravy.
  • Keep it at a gentle simmer: If it boils hard, the meat can tighten up. In the oven, you want slow bubbles, not a rolling boil.
  • Give it time: Chuck gets tender when collagen breaks down. If it’s still chewy, it needs more time.
  • Cut potatoes to match: If using large Yukon golds, quarter them so they finish with the beef.

Easy variations

  • No wine: Swap the wine for more beef broth plus 1 tsp balsamic vinegar for a similar depth.
  • More herbs: Add a few thyme sprigs with the rosemary.
  • Veggie add-ins: Stir in mushrooms with the onions, or add frozen peas during the last 5 minutes.
  • Slow cooker option: Sear beef and sauté aromatics on the stove, then transfer everything (except potatoes) to a slow cooker and cook on LOW 8 hours. Add potatoes for the last 2 to 3 hours, until tender.

What to serve with it

  • Simple green salad with a tangy vinaigrette
  • Roasted green beans or Brussels sprouts
  • Crusty bread for swiping up the rosemary gravy

Slow-Braised Beef with Rosemary Potatoes Recipe

Storage and reheating

  • Refrigerate: Store in an airtight container up to 4 days. The flavor gets even better overnight.
  • Freeze: Freeze up to 3 months. Thaw overnight in the fridge.
  • Reheat: Warm gently on the stovetop over medium-low heat with a splash of broth to loosen the gravy. Avoid boiling.
Scroll to Top