Osso Buco alla Milanese is the dish that made me stop rushing dinner. Veal shanks braised low and slow until the meat surrenders off the bone, finished with a bright gremolata that cuts straight through the richness.
Advertisements1
This is campfire logic applied to a Dutch oven: tough cut, low heat, patience, payoff. You brown hard, you deglaze honestly, and you let the pot do the work while you split wood or set the table.
Milan serves it over risotto alla Milanese, but polenta, mashed potatoes, or crusty bread all hold the sauce just fine. Any way you plate it, that marrow is the prize.
Why You'll Love This Recipe
About the Ingredients
6 veal shanks, about 1 1/2 inches (4 cm) thick (roughly 4 lb / 1.8 kg total)
Ask the butcher to tie them with twine so they hold shape. Beef shanks work as a substitute but need 45 extra minutes of braising.
1/2 cup (60 g) all-purpose flour, for dredging
Wondra or cornstarch also works if you want a gluten-free dredge. Shake off the excess or the sauce turns pasty.
3 tablespoons (45 ml) olive oil
Regular olive oil, not extra-virgin, since it takes high heat. Avocado oil is a fine neutral swap.
4 tablespoons (56 g) unsalted butter, divided
Split it: half for the vegetables, half whisked in at the end for gloss. Salted butter means cut the added salt.
1 large yellow onion, finely diced (about 1 1/2 cups / 200 g)
Sweet onion or shallots both work. Dice small so it melts into the sauce instead of floating.
2 medium carrots, finely diced (about 1 cup / 130 g)
Skip baby carrots, they stay watery. A parsnip adds a nice peppery note if you have one.
3 cloves garlic, minced, plus 1 clove for the gremolata
Fresh garlic only here. Jarred paste burns and tastes flat in a long braise.
1 cup (240 ml) dry white wine, like Pinot Grigio or Sauvignon Blanc
Dry vermouth is a solid substitute. Never use cooking wine, it is salted and harsh.
3 cups (720 ml) low-sodium beef or veal stock
Homemade veal stock is ideal, good boxed beef broth is fine. Water plus a bouillon cube in a pinch.
1 can (14.5 oz / 410 g) diced tomatoes, drained
San Marzano if you can find them. Crushed tomatoes make a thicker, heavier sauce.
Zest of 2 lemons, 1/3 cup (20 g) chopped flat-leaf parsley, for gremolata
Zest before juicing and use a Microplane. Curly parsley is a weaker but acceptable stand-in.
1 teaspoon (2 g) saffron threads, optional but traditional
Bloom it in the warm stock for 10 minutes. Turmeric gives color but not the same floral note.
Tips & Tricks
- Dry the shanks before searing. Pat them with paper towels until they squeak. Wet meat steams instead of browning, and you lose the fond that makes the sauce.
- Do not skip the tie. Butcher twine keeps the shank wrapped around the bone so the marrow stays put and the meat does not shred into the sauce.
- Braise below a boil. If the liquid bubbles hard, the meat turns stringy. Keep it at a lazy simmer, around 300 F (150 C) in the oven.
- Rest before serving. Ten minutes off heat lets the juices redistribute so they do not run out when you cut.
Pro Tips
Step-by-Step Instructions
1. Heat Oven and Dry Shanks
Set a rack in the lower third and preheat to 325 F (165 C). Pat the shanks bone-dry with paper towels and season all sides generously with salt and pepper.
2. Dredge and Sear
Dredge each shank in flour and shake off the excess. Heat olive oil and 2 tablespoons butter in a heavy Dutch oven over medium-high until shimmering, then sear the shanks 4 to 5 minutes per side until deep mahogany brown. Work in batches so they brown, not steam. Move them to a plate.
3. Soften the Vegetables
Lower the heat to medium, add the onion and carrot, and cook 6 to 8 minutes until softened and translucent. Add the 3 minced garlic cloves and stir 30 seconds until fragrant, not browned.
4. Deglaze the Pot
Pour in the wine and scrape the bottom with a wooden spoon for 2 minutes until the liquid reduces by half and the sharp alcohol smell disappears. Stir in the tomatoes and saffron stock.
5. Braise Low and Slow
Nestle the shanks back in, bone side down, adding stock until the liquid reaches two-thirds up the meat. Cover and transfer to the oven for 2 hours to 2 hours 30 minutes, until the meat is fork-tender and pulling from the bone.
6. Make the Gremolata
While the shanks braise, chop the parsley, mince the remaining garlic clove, and zest the lemons. Toss together in a small bowl and set aside at room temperature.
7. Finish the Sauce
Lift the shanks onto a platter and tent with foil. Skim the fat from the surface, then simmer the sauce on the stovetop 8 to 10 minutes until it coats a spoon. Whisk in the last 2 tablespoons butter off heat.
8. Plate and Serve
Spoon sauce over the shanks, scatter gremolata across the top, and serve over risotto alla Milanese or soft polenta. Warn your guests about the marrow bone before they dig in.
Delicious Variations
Osso Buco with Porcini
Soak 1 oz dried porcini in the stock and add them with the tomatoes for an earthy, forest-floor depth.
Beef Short Rib Version
Swap in bone-in short ribs and braise 3 hours; the sauce gets even richer and beefier.
White Wine and Fennel
Replace the carrot with diced fennel bulb and add 1 teaspoon fennel seed for a lighter, anise-forward pot.
How to Store Osso Buco alla Milanese
Refrigerator
Cool within 2 hours and store in an airtight container up to 4 days. The fat solidifies on top, which makes skimming easy.
Freezer
Freeze the shanks and sauce together up to 3 months in a freezer-safe container. Leave 1 inch of headspace for expansion.
Reheating
Thaw overnight in the refrigerator, then reheat covered at 300 F (150 C) for 25 minutes, or gently on the stovetop. Add a splash of stock if the sauce tightens.
Frequently Asked Questions
Q: What is osso buco and what does the name mean?
Osso buco is Italian for hollow bone and refers to braised veal shanks cut crosswise so the marrow bone shows. The marrow melts into the sauce and is traditionally scooped out and spread on bread.
Q: Can I make osso buco without veal?
Yes, beef shanks or bone-in short ribs are the best substitutes and taste just as rich. Add 30 to 45 minutes of braising time because beef is a tougher cut than veal.
Q: Do I really need saffron for osso buco alla Milanese?
Saffron is traditional in the Milanese version but entirely optional for the braise itself. It mainly adds color and a floral note, so skip it and the dish still works beautifully.
Q: How do I know when the veal shanks are done?
The meat should pull away from the bone with almost no resistance when you press it with a fork. If it still feels springy or resists, add 20 more minutes covered in the oven.
Q: What do you serve with osso buco?
Risotto alla Milanese is the classic pairing, but creamy polenta, mashed potatoes, or crusty bread all work to soak up the sauce. A simple bitter greens salad balances the richness.
Get your Dutch oven out, buy the thickest shanks your butcher has, and give this pot the time it deserves. The payoff is a table-stopping braise that costs you almost nothing in effort after the sear. See you on the trail.
Osso Buco alla Milanese
Osso Buco alla Milanese delivers fall-off-the-bone braised veal shanks in a saffron-scented gremolata sauce that turns a humble cut into a showstopper.
🧂 Ingredients
- 6 veal shanks, about 1 1/2 inches (4 cm) thick (roughly 4 lb / 1.8 kg total)
- 1/2 cup (60 g) all-purpose flour, for dredging
- 3 tablespoons (45 ml) olive oil
- 4 tablespoons (56 g) unsalted butter, divided
- 1 large yellow onion, finely diced (about 1 1/2 cups / 200 g)
- 2 medium carrots, finely diced (about 1 cup / 130 g)
- 3 cloves garlic, minced, plus 1 clove for the gremolata
- 1 cup (240 ml) dry white wine, like Pinot Grigio or Sauvignon Blanc
- 3 cups (720 ml) low-sodium beef or veal stock
- 1 can (14.5 oz / 410 g) diced tomatoes, drained
- Zest of 2 lemons, 1/3 cup (20 g) chopped flat-leaf parsley, for gremolata
- 1 teaspoon (2 g) saffron threads, optional but traditional
📋 Instructions
- 1Heat Oven and Dry Shanks — Set a rack in the lower third and preheat to 325 F (165 C). Pat the shanks bone-dry with paper towels and season all sides generously with salt and pepper.
- 2Dredge and Sear — Dredge each shank in flour and shake off the excess. Heat olive oil and 2 tablespoons butter in a heavy Dutch oven over medium-high until shimmering, then sear the shanks 4 to 5 minutes per side until deep mahogany brown. Work in batches so they brown, not steam. Move them to a plate.
- 3Soften the Vegetables — Lower the heat to medium, add the onion and carrot, and cook 6 to 8 minutes until softened and translucent. Add the 3 minced garlic cloves and stir 30 seconds until fragrant, not browned.
- 4Deglaze the Pot — Pour in the wine and scrape the bottom with a wooden spoon for 2 minutes until the liquid reduces by half and the sharp alcohol smell disappears. Stir in the tomatoes and saffron stock.
- 5Braise Low and Slow — Nestle the shanks back in, bone side down, adding stock until the liquid reaches two-thirds up the meat. Cover and transfer to the oven for 2 hours to 2 hours 30 minutes, until the meat is fork-tender and pulling from the bone.
- 6Make the Gremolata — While the shanks braise, chop the parsley, mince the remaining garlic clove, and zest the lemons. Toss together in a small bowl and set aside at room temperature.
- 7Finish the Sauce — Lift the shanks onto a platter and tent with foil. Skim the fat from the surface, then simmer the sauce on the stovetop 8 to 10 minutes until it coats a spoon. Whisk in the last 2 tablespoons butter off heat.
- 8Plate and Serve — Spoon sauce over the shanks, scatter gremolata across the top, and serve over risotto alla Milanese or soft polenta. Warn your guests about the marrow bone before they dig in.



