
This osso buco recipe delivers the restaurant-quality Italian classic you’ve been craving, with tender veal shanks braised until the bone marrow melts into a rich, velvety sauce. The secret lies in slow cooking—searing the shanks first to lock in flavor, then braising them with white wine and broth until fork-tender.
I’ve perfected this method over years of testing, ensuring every bite is perfectly balanced between succulent meat and aromatic sauce.
The process begins with searing the shanks in a hot pan to develop a deep, caramelized crust, then deglazing with white wine to lift those flavorful browned bits. Aromatics like garlic, onions, and celery form the base, while slow simmering in broth transforms tough cuts into melt-in-your-mouth perfection.
The result? Juicy, fall-off-the-bone shanks swimming in a sauce so rich it should be served with a spoon.
What makes this recipe truly special is the fond—the golden, caramelized residue left in the pan after braising. Scraping it up and incorporating it into the sauce adds layers of depth that store-bought versions can’t match.
Serve with creamy risotto alla Milanese to soak up every last drop of that luxurious sauce. This is comfort food at its finest, elevated by technique and tradition.
While osso buco traditionally calls for veal, you can substitute beef shanks for a more budget-friendly version without sacrificing flavor. The key is patience—rushing the braising time will leave you with tough meat instead of the tender masterpiece you’re aiming for.
Trust the process, and you’ll have a dish worthy of any special occasion.
Ingredients for osso buco
Four shanks, bold flavors, and hours of slow-braising magic—this is osso buco done right.
| Ingredient | Amount | Notes |
|---|---|---|
| Veal Shanks 🥩 | 4 whole | Bone-in, 1.5-inch thick slices |
| All-Purpose Flour 🌾 | ½ cup | For dredging shanks |
| Unsalted Butter 🧈 | ½ cup | Full-fat for richness |
| Olive Oil 🫒 | ¼ cup | Extra-virgin for searing |
| Yellow Onion 🧅 | 1 whole | Diced, medium size |
| Celery Stalk 🥬 | 2 whole | Diced, with leaves |
| Carrot 🥕 | 2 whole | Diced, medium size |
| Garlic Cloves 🧄 | 6 cloves | Minced, fresh preferred |
| Dry White Wine 🍷 | 1 cup | Bold, dry variety |
| Beef Broth 💧 | 2 cups | Homemade or quality store-bought |
| Tomato Paste 🍅 | 1 tbsp | Smooth, not chunky |
| Fresh Rosemary 🌿 | ½ tbsp | Chopped, fresh preferred |
| Fresh Thyme 🌿 | ½ tbsp | Leaves only, fresh preferred |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| Ground Black Pepper 🌶️ | ½ tsp | Freshly ground preferred |
The veal shanks are non-negotiable for that authentic osso buco experience. Look for bone-in cuts with good marbling at your local butcher or Whole Foods—they often have them prepped perfectly. If you can’t find veal, beef shanks work just as well (just add 30 minutes to braising time). The flour is for dredging—don’t skip it, as it helps create that perfect crust during searing. For the butter and olive oil, use high-quality fats—this is where the richness comes from. I like Plugrá butter for its European-style richness, but any good unsalted butter will do. The aromatics—onion, celery, and carrot—are the holy trinity of osso buco. Fresh is best here, but frozen will work in a pinch if you’re short on time.
No white wine? Dry vermouth or even apple juice can stand in, but the acidity matters. The tomato paste is just for depth—if you’re avoiding it, a splash of red wine vinegar adds similar brightness. Fresh herbs are ideal, but dried rosemary and thyme at half the amount will work if that’s what you’ve got. The beef broth should be homemade if possible, but Swanson or Pacific Foods are solid store-bought options. Pro tip: Deglaze that pan aggressively after searing—those browned bits are pure flavor gold. If you’re feeling fancy, add a bay leaf to the braising liquid for an extra layer of aroma, but it’s not required.
This dish tastes even better the next day, so make it ahead if you can. The sauce will thicken as it cools, so add a splash of broth or water when reheating. Store leftovers in the fridge for up to 4 days—the flavors only get better with time. For freezing, portion into individual containers so you can thaw just what you need. The fond—the caramelized bits left in the pan—is the star. Scrape it up and stir it back into the sauce before serving. Trust me, it’s worth the extra minute of scraping.
Why You’ll Love This Recipe
- One-Pan Magic: I swear by this—just sear the veal, toss in the onions, and let the sauce work its magic. No chopping boards piled high, no pots clanging. The flour and butter create that velvety sauce right in the same pan where the meat cooks.
- Melts-in-Your-Mouth Tender: That crispy crust on the outside? It gives way to meat so tender it falls apart with a fork. The olive oil and butter in the sauce make every bite rich without being heavy—honestly, it’s the kind of dish that makes you slow down and savor each bite.
- Sunday Dinner or Lazy Tuesday: Between us, this feeds a crowd but still feels special enough for company. Double the recipe, and you’ve got leftovers that taste even better the next day—no sad, dry meat here. My kids ask for it on their own time, which is basically the gold standard.
- Budget-Friendly Luxury: Veal shanks might sound fancy, but they’re cheaper than steak and pack serious flavor. The onions and butter stretch into a sauce that makes it feel like a restaurant meal. I’ll be real: this is my go-to when I want to impress without breaking the bank.
Step-by-step instructions for osso buco
Here’s how to transform tough veal shanks into melt-in-your-mouth perfection with a rich, velvety sauce.
Prepare the Veal Shanks for Browning
Pat the 4 whole veal shanks dry with paper towels—this is crucial for achieving that golden crust. Place them bone-side down in a large, heavy pot or Dutch oven. I like to use a Dutch oven for its even heat distribution and deep sides that contain the sauce.
Heat the 0.25 cup olive oil and 0.5 cup unsalted butter over medium-high heat until the butter foams and the oil shimmers. Add the shanks and let them sear undisturbed for 5-6 minutes until they develop deep golden-brown crusts. This initial browning creates the foundational flavor for your sauce.
Here’s the thing—don’t rush this step. You’ll know it’s ready when the shanks release easily from the pot. If they stick, just let them be for another minute. Once browned, flip each shank and sear the other side for another 3-4 minutes. Remove them and set aside on a plate.
Build the Flavor Base
In the same pot, add the diced 1 whole yellow onion, 2 whole celery stalks, and 2 whole carrots. Cook for 5-6 minutes until the vegetables soften slightly but still maintain their shape. This is what we call the “soffritto” in Italian cooking—the aromatic base that infuses flavor into every bite.
Add the 6 cloves minced garlic and cook for 30 seconds until fragrant—don’t let it brown or it’ll turn bitter. Stir in the 1 tbsp tomato paste and cook for another minute until it darkens slightly. This step deepens the sauce’s complexity and balances the acidity from the wine we’ll add next.
Here’s where it gets good: Deglaze the pot with the 1 cup dry white wine, scraping up all those browned bits from the bottom. Let it simmer for 3-4 minutes until reduced by half. This wine reduction forms the backbone of your sauce, so don’t skip it.
Create the Braising Liquid
Pour in the 2 cups beef broth, then add the 0.5 tbsp chopped fresh rosemary, 0.5 tbsp fresh thyme leaves, 1.5 tsp salt, and 0.5 tsp freshly ground black pepper. Bring to a gentle simmer, then return the veal shanks to the pot, bone-side up. This positioning allows the meat to cook evenly and develop that signature tender texture.
Here’s the critical timing: Cover the pot and simmer gently for 2 hours. The liquid should just barely bubble at the edges—this ensures tender meat without toughening it. I know it seems like a long time, but this slow cooking is what transforms tough shanks into melt-in-your-mouth perfection.
After 2 hours, check for doneness by inserting a fork into the thickest part of a shank. It should slide in easily with just slight resistance. If not, continue cooking for another 30-45 minutes. The sauce should be reduced and rich, coating the shanks beautifully.
Finish and Rest for Maximum Flavor
Once the shanks are tender, remove them from the pot and set aside on a plate. Strain the braising liquid through a fine-mesh sieve into a clean saucepan, pressing on the vegetables to extract all their flavor. Return the strained sauce to medium heat and reduce it for 5-7 minutes until it thickens slightly and coats the back of a spoon.
Return the shanks to the sauce and let them sit for 2-3 minutes to absorb all that delicious flavor. Here’s the secret to serving: Let the shanks rest for 10 minutes before slicing. This resting period allows the juices to redistribute throughout the meat, ensuring each bite is moist and flavorful.
Slice each shank between the bones into ½-inch thick pieces. The meat should be so tender it practically falls apart, revealing that beautiful pink center and rich marrow. Serve the osso buco with its velvety sauce spooned over the top, garnished with fresh parsley if you like. The result should be restaurant-quality osso buco that’ll have everyone asking for seconds.
Pro Tips For Making Osso Buco
- SEAR IN BATCHES: Don’t crowd the pan—this isn’t a buffet. Work in 2-3 shanks at a time, or you’ll end up steaming them instead of browning. I learned this the hard way when my first batch came out pale and sad, like a veal shank that skipped its tan.
- DREDGE LIKE A PRO: Pat those shanks dry first, then toss in flour—no lazy shaking. Press the flour into every crevice so it sticks like glue. My grandmother swore by this, and she was right: the crust isn’t just for looks, it’s the armor that keeps the meat from falling apart later.
- SLOW THE HELL DOWN: After the initial sear, drop the heat to a gentle simmer—no rushing. If the liquid boils hard, the onions burn and the sauce turns bitter. I was skeptical until I tried it: patience here means the difference between “meh” and “wow.”
- DEGLAZE WITH WINE: Skip the water—use a full ½ cup of dry white wine (or even a splash of broth) to loosen the browned bits. The alcohol burns off, but the flavor? That’s the foundation of your sauce. (Yes, even if you’re impatient like me.)
Make-ahead tips for this recipe
Prep Ahead Strategy
Start by prepping your veal shanks the night before—pat them dry and refrigerate uncovered for 1 hour to dry-brine. This helps create a better crust when searing. Store them in a sealed container with 1 tsp salt and ½ tsp black pepper until ready to cook.
I like to prep my soffritto (onions, celery, carrots) and chop all herbs ahead of time too—just store them separately in airtight containers in the fridge. 🌟
Partial Braising
For a stress-free dinner, braise the shanks for 1.5 hours before adding the wine and broth. At this point, they’ll be partially tender but still firm. Cover and refrigerate the pot (uncovered) for up to 2 days.
When ready to finish, bring to a simmer, add the wine and broth, and cook uncovered for another 1-1.5 hours until fully tender. This method works beautifully for meal prep.
Sauce Prep
Make the sauce base ahead of time by cooking your soffritto, deglazing with wine, and adding broth. Strain and store it in the fridge for up to 3 days. When ready to serve, simply reheat the sauce with the pre-braised shanks.
I often make a double batch of sauce—it’s perfect for serving over risotto or polenta later in the week. ✨
Freezing Tips
Osso buco freezes exceptionally well. After fully cooking, let it cool completely, then portion into freezer-safe containers with a layer of sauce. Freeze for up to 3 months.
When ready to eat, thaw overnight in the fridge and reheat gently on the stove with a splash of water or broth to restore moisture. The texture remains surprisingly tender after freezing. ❄️
Gremolata Prep
Make gremolata—a classic osso buco garnish—up to 3 days ahead. Mix ¼ cup finely chopped parsley, 2 tbsp lemon zest, and 3 minced garlic cloves. Store in an airtight container in the fridge.
Sprinkle generously over each serving just before eating to brighten the rich flavors. This fresh herb blend adds a zesty contrast that cuts through the richness. 💛
Reheating Mastery
Reheat osso buco gently to avoid drying out the meat. Place the shanks and sauce in a pot over low heat and add ¼ cup water or broth to prevent sticking. Simmer for 10-15 minutes until heated through.
For extra flavor, add a splash of white wine or a pinch of fresh herbs. The sauce will thicken as it reheats, so adjust with a little extra liquid if needed. 🔥
Nutrition facts
Frequently asked questions
Can I substitute beef shanks for veal in this recipe?
Beef shanks work beautifully and are more budget-friendly. Just add 30-45 extra minutes to the braising time since beef is tougher than veal. The flavor will be equally rich—just ensure you use bone-in cuts for that signature marrow release.
Why does my osso buco sauce turn out watery?
Watery sauce usually means the liquid wasn’t reduced enough. Simmer uncovered for 10-15 extra minutes after the shanks are tender to thicken it. If needed, remove the shanks and reduce the sauce alone, then return them to coat in the thicker sauce.
What’s the best way to serve osso buco?
Traditionally, it’s served with creamy risotto alla Milanese (saffron risotto) or buttery polenta to soak up the sauce. For extra flair, sprinkle with homemade gremolata (parsley, lemon zest, garlic) right before serving to brighten the rich flavors.
Can I make osso buco in a slow cooker?
Yes, but with adjustments! Sear the shanks first, then transfer to the slow cooker with all ingredients. Cook on low for 6-7 hours (instead of 2 hours). The sauce may need thickening afterward—reduce it on the stove or add a cornstarch slurry.
How do I know when the shanks are fully cooked?
They’re done when they’re fork-tender with no pink center. Insert a fork into the thickest part—the meat should slide off easily with just slight resistance. If using beef, the internal temperature should reach 195°F (the collagen breaks down at this point).
- Nihari Recipe: Slow-Simmered Spiced Lamb with Fragrant Rice - November 2, 2026
- Kamut Bread Recipe: Ancient Grains With Nutty Crunch and Chewy Crumb - November 2, 2026
- Air Fry Pompano Fish Recipe: Lemon-Caper Crust With Crispy Skin - November 2, 2026