Osso Buco
alla Milanese
Osso buco is one of Milan's proudest exports — cross-cut veal shanks braised low and slow in white wine, tomatoes, and aromatics until the meat falls tenderly from the bone. The name means "bone with a hole," and that hole is the point: inside lies silky, unctuous bone marrow, the true prize of this dish.
Finished with a sharp, herb-bright gremolata of lemon zest, parsley, and garlic, it balances the richness of the braise perfectly. Serve alongside saffron risotto alla Milanese for the full Lombardian Sunday experience.
Why You'll Love This Recipe
- Fall-off-the-bone braised veal in a deeply flavoured wine-and-tomato sauce
- The marrow inside the bone is a hidden luxury — scoop it out with a spoon
- Bright gremolata cuts through the richness with citrus and fresh herbs
- Even better the next day — make ahead for dinner parties
Osso Buco alla Milanese
Ingredients
- ✓4 veal shanks, cross-cut (~350g each)
- ✓3 tbsp plain flour, for dusting
- ✓2 tbsp olive oil
- ✓ salt and black pepper
- ✓1 medium onion, finely diced
- ✓2 carrots, finely diced
- ✓2 celery stalks, finely diced
- ✓4 garlic cloves, minced
- ✓250ml dry white wine (Pinot Grigio or Soave)
- ✓400g crushed tomatoes
- ✓300ml chicken stock
- ✓2 bay leaves, 1 tsp fresh thyme
- ✓ zest of 1 lemon
- ✓2 tbsp flat-leaf parsley, finely chopped
- ✓1 small garlic clove, minced
Instructions
- 1
Pat shanks completely dry. Season generously with salt and pepper, then dust lightly in flour, shaking off excess. Tie kitchen twine around each shank to hold the meat in place.
- 2
Heat olive oil in a wide, heavy-based pot over medium-high heat. Sear shanks 3–4 minutes per side until deeply golden. Work in batches — do not crowd the pan. Remove and set aside.
- 3
Reduce heat to medium. In the same pot, cook onion, carrot, and celery (soffritto) for 8 minutes until softened. Add garlic and cook 1 minute more.
- 4
Pour in white wine, scraping up all browned bits from the base. Simmer 3 minutes until reduced by half.
- 5
Add crushed tomatoes and chicken stock. Stir to combine, then nestle shanks back in — they should be two-thirds submerged. Add bay leaves and thyme. Cover and braise over low heat for 1 hour 45 minutes, turning shanks once halfway through.
- 6
Mix gremolata: combine lemon zest, parsley, and garlic. Remove twine from shanks. Scatter gremolata over the top just before serving alongside saffron risotto or creamy polenta.
Chef's Notes & Substitutions
- The marrow: Scoop it out with a small spoon — this is the jewel of the dish. Rich, silky, and extraordinary on a piece of bread.
- Make ahead: Osso buco reheats beautifully. The flavour deepens overnight — ideal for dinner parties.
- Veal substitute: Pork or beef shanks work well if veal is unavailable. Increase braising time by 30 minutes for beef.
- Wine: Use a dry white you would enjoy drinking. Never use cooking wine.
📦 Storage & Reheating
- 🧊Storing
Osso buco actually improves with time! Store in an airtight container in the fridge for up to 4 days. The flavors meld and deepen overnight.
- ❄️Freezing
Freezes beautifully for up to 3 months. The braised meat becomes even more tender after freezing and thawing. Store the sauce and meat together.
- 🔥Reheating
Reheat gently in a covered pan over medium-low heat for 15-20 minutes. Add a splash of broth if the sauce has thickened. Alternatively, reheat in a 300°F oven for 25 minutes.
Nutrition Facts
Per serving · Estimated values
* % Daily Value based on a 2,000 calorie diet.
Pro Tips for Perfect Osso Buco
Get the Right Cut
Ask your butcher for cross-cut veal shanks from the hind leg — about 2 inches thick with the marrow bone intact. The marrow is the star of the show!
Pat Dry and Season Well
Pat the veal completely dry before searing. Wet meat steams instead of browns. Season generously with salt and pepper — the exterior needs to build a crust.
Deglaze with White Wine
After searing, deglaze the pan with dry white wine — this lifts all the caramelized bits (fond) from the bottom. These brown bits are pure flavor.
Don't Skip the Gremolata
The fresh gremolata (parsley, lemon zest, garlic) added right before serving cuts through the richness and adds brightness that transforms the dish.
You Might Also Love
Spaghetti Carbonara
Silky, rich and perfectly creamy — the Roman way, made with guanciale and Pecorino.
Cacio e Pepe
Rome's iconic pasta with Pecorino and black pepper — deceptively simple, impossibly good.
Saffron Risotto alla Milanese
Golden, aromatic risotto perfumed with real saffron — a Milanese classic done right.
Tried this recipe?
Every rating helps other home cooks discover great food.
How did yours turn out?
Tap a star to rate this recipe
Share via: