Classic Osso Buco Milanese

Featured in: Lemon-&-Herb Home Dinners

Osso Buco offers tender veal shanks slowly braised in a rich blend of tomatoes, white wine, and aromatic vegetables. The dish is finished with a bright gremolata made of fresh parsley, garlic, and lemon zest, adding a vibrant contrast to the deep flavors. Cooking requires patience with a slow simmer to achieve fork-tender meat and a thickened sauce. This comforting Milanese classic pairs beautifully with risotto or creamy mashed potatoes, delivering a refined yet homey dining experience.

Updated on Sat, 27 Dec 2025 14:06:00 GMT
Tender Osso Buco served with vibrant gremolata, imagine the savory braised veal and rich sauce. Save on Pinterest
Tender Osso Buco served with vibrant gremolata, imagine the savory braised veal and rich sauce. | lemoncairn.com

I learned to make osso buco during a particularly cold February when my aunt decided to teach me her Milanese secrets in her kitchen. She showed me how those pale veal shanks transform into something almost magical when given time and a proper braise, and I was immediately hooked by the way the bone marrow enriches the sauce. The first time I pulled that pot from the oven, the kitchen smelled like a trattoria in Milan, and I knew this was a dish worth mastering. It's become my go-to when I need to impress someone or simply want to feel like I'm cooking something that matters.

I made osso buco for my then-boyfriend's parents, and his mother—who actually grew up near Milan—took one bite and nodded quietly before asking for the recipe. That nod meant everything, and I realized in that moment that some dishes are worth the effort precisely because they demand respect and time. Now whenever I braise veal shanks, I think of that dinner and how food can be a form of honest communication.

Ingredients

  • Veal shanks: Cross-cut bone-in pieces about 350 g each are essential; the bone and marrow become part of the sauce's soul, so don't skip them or substitute with boneless cuts.
  • All-purpose flour: Just enough to create a light golden crust that helps seal in the juices, though you can swap for gluten-free flour without sacrificing results.
  • Olive oil and butter: The combination matters because butter adds flavor while oil prevents burning at higher heat; don't use just one.
  • Onion, carrots, and celery: This holy trinity (soffritto) builds the foundation of the sauce, so take time to mince them evenly for consistent cooking.
  • Dry white wine: A wine you'd drink makes a difference; skip anything labeled as cooking wine.
  • Diced tomatoes: Canned works beautifully here because the long cooking breaks them down into the sauce.
  • Stock: Beef or veal stock adds depth that water cannot; homemade is ideal but quality store-bought works perfectly fine.
  • Bay leaves and thyme: These quiet aromatics prevent the sauce from tasting one-dimensional.
  • Gremolata ingredients: The bright lemon zest and fresh parsley are the final flourish that elevates the entire dish from rustic to refined.

Instructions

Product image
Track cooking times accurately for baking, boiling, roasting, and multitasking recipes without overcooking.
Check price on Amazon
Prep and Season the Veal:
Pat the shanks completely dry with paper towels—this is crucial because moisture prevents browning. Season boldly with salt and pepper, then dredge lightly in flour, tapping off any excess so you get a thin coating, not a thick crust.
Build a Golden Crust:
Heat oil and butter together over medium-high heat until the butter froths. Working in batches if needed, brown each shank for 3–4 minutes per side until deeply golden, then set them aside on a plate. This browning is where flavor happens, so don't rush or crowd the pan.
Create the Base:
In the same pot, sauté the onion, carrots, celery, and garlic until soft and fragrant, about 6 minutes. Stir in tomato paste and cook for a minute to deepen its flavor, then pour in the wine and scrape the bottom with a wooden spoon to loosen all those caramelized bits.
Build the Braising Liquid:
Add the tomatoes with juice, stock, bay leaves, thyme, and half the lemon zest. Stir well so everything is combined and nothing sticks to the bottom.
Return and Braise:
Nestle the veal shanks back into the pot in a single layer and spoon sauce over them. Bring to a gentle simmer, then cover and transfer to a preheated 160°C (325°F) oven for 2 hours, until the veal is fork-tender and practically falling from the bone.
Make the Gremolata:
While the veal braises, mince the parsley, garlic, and remaining lemon zest together in a small bowl. This fresh mixture is your secret weapon for cutting through the richness at the very end.
Finish and Serve:
Transfer the cooked shanks to a platter, then skim excess fat from the sauce and simmer it uncovered for a few minutes if you prefer it thicker. Spoon the sauce over the shanks and finish with a generous sprinkle of gremolata just before serving.
Product image
Track cooking times accurately for baking, boiling, roasting, and multitasking recipes without overcooking.
Check price on Amazon
Save on Pinterest
| lemoncairn.com

I once brought osso buco to a potluck where someone asked why I bothered making something so complicated when I could have just grabbed takeout. I almost laughed, but instead I let them taste it, and their expression changed entirely—they understood that some things aren't about convenience, they're about presence and patience. That's when this dish became less about cooking for me and more about what it represents.

The Marrow Moment

The bone marrow is the hidden treasure in osso buco, something that transforms a simple veal braise into an experience. As the veal cooks, the marrow softens and enriches the sauce naturally, adding a richness that no cream could replicate. I learned to scoop out any marrow that surfaces during braising and stir it back in, intensifying that luxurious depth. Many people don't realize they're eating marrow until you tell them, and then it becomes this revelatory moment at the table.

What to Serve Alongside

Osso buco demands a starch that can soak up the sauce without competing for attention. Risotto alla Milanese—saffron-infused and creamy—is the traditional choice and honestly feels ceremonial alongside the braise. Creamy mashed potatoes work just as beautifully if you prefer something simpler, while polenta offers a different texture entirely. I've learned that whatever you choose should be relatively plain, because the sauce is the star and deserves a quiet supporting cast.

Make It Your Own

While this recipe follows the Milanese tradition closely, I've discovered small variations that honor the spirit while fitting your kitchen. Some cooks add a splash of cream to the sauce at the end, others prefer it completely unadorned. You can braise it low and slow for maximum tenderness, or at a slightly higher temperature if time is limited. The beauty of this dish is that it's forgiving as long as you respect the fundamentals of browning, braising, and that final bright gremolata.

  • For a richer sauce, stir in a splash of cream just before serving, though purists might protest.
  • If beef shanks are more accessible than veal, go ahead and use them; just add 20–30 minutes to the cooking time.
  • Gremolata can be made up to a day ahead and stored in the fridge, but sprinkle it on warm plates moments before eating for maximum freshness.
Product image
Mount paper towels nearby for quick cleanup of spills, grease, and messes while cooking and prepping meals.
Check price on Amazon
A close-up shot of steaming Osso Buco with meltingly soft veal shanks, ready for a comforting dinner. Save on Pinterest
A close-up shot of steaming Osso Buco with meltingly soft veal shanks, ready for a comforting dinner. | lemoncairn.com

Osso buco is the kind of dish that rewards you for showing up and doing the work. Once you master it, you'll find yourself making it again and again, each time discovering something new in the kitchen.

Recipe Questions & Answers

What cut of meat is best for Osso Buco?

Veal shanks cross-cut with bone-in are traditional, providing tender meat and flavorful marrow during slow braising.

Can beef shanks be used instead of veal?

Yes, beef shanks are a suitable substitute; just adjust cooking time to ensure tenderness.

How is gremolata prepared and used?

Gremolata combines finely chopped parsley, garlic, and lemon zest, sprinkled over the dish right before serving for a fresh, zesty finish.

What side dishes complement this meal?

Classic pairings include saffron risotto, creamy polenta, or mashed potatoes to soak up the rich sauce.

How to make the dish gluten-free?

Use gluten-free flour for dredging veal shanks and verify other ingredients to ensure a gluten-free version.

What is the cooking temperature and time for braising?

Braise the shanks covered in an oven preheated to 160°C (325°F) for about 2 hours, until the meat is fork tender.

Classic Osso Buco Milanese

Slow-braised tender veal shanks in rich tomato sauce with zesty gremolata, perfect for an elegant meal.

Prep Time
25 min
Time to Cook
135 min
Overall Time
160 min


Skill Level Medium

Cuisine Italian

Makes 4 Portions

Dietary details None specified

What You Need

Veal and Seasoning

01 4 veal shanks (about 12 oz each), cross-cut, bone-in
02 Salt and freshly ground black pepper, to taste
03 1/3 cup all-purpose flour (gluten-free flour if needed), for dredging

Vegetables

01 2 tbsp olive oil
02 2 tbsp unsalted butter
03 1 large onion, finely chopped
04 2 carrots, diced
05 2 celery stalks, diced
06 4 garlic cloves, minced

Braising Liquid

01 1 cup dry white wine
02 1 can (14 oz) diced tomatoes with juice
03 1 1/2 cups beef or veal stock
04 2 tbsp tomato paste
05 2 bay leaves
06 1 tsp dried thyme
07 Zest of 1 lemon (reserve half for gremolata)

Gremolata

01 2 tbsp fresh flat-leaf parsley, finely chopped
02 1 garlic clove, minced
03 Reserved lemon zest

How to Make It

Step 01

Prepare veal shanks: Pat veal shanks dry and season generously with salt and black pepper. Lightly dredge in flour, shaking off excess.

Step 02

Brown veal shanks: Heat olive oil and butter in a large Dutch oven over medium-high heat. Brown veal shanks on all sides, about 3 to 4 minutes per side. Transfer to a plate.

Step 03

Sauté vegetables: In the same pot, add onion, carrots, celery, and garlic. Sauté until softened, approximately 6 minutes.

Step 04

Incorporate tomato paste and deglaze: Stir in tomato paste and cook for 1 minute. Deglaze with white wine, scraping up browned bits from the bottom of the pot.

Step 05

Add braising liquid: Add diced tomatoes with juice, stock, bay leaves, thyme, and half the lemon zest. Stir to combine.

Step 06

Return veal shanks and simmer: Place veal shanks back into the pot in a single layer, spoon sauce over them, and bring to a simmer.

Step 07

Braise veal: Cover and braise in a preheated oven at 325°F for 2 hours, or until the veal is fork-tender.

Step 08

Prepare gremolata: Combine parsley, minced garlic, and the reserved lemon zest to make gremolata.

Step 09

Serve: Remove veal shanks to a platter. Skim excess fat from sauce if desired; simmer to thicken if necessary. Spoon sauce over shanks and garnish with gremolata before serving.

Equipment Needed

  • Large Dutch oven or heavy ovenproof pot
  • Tongs
  • Chef’s knife
  • Cutting board
  • Wooden spoon

Allergy Alerts

Review ingredients for allergens and contact your healthcare provider for guidance.
  • Contains dairy (butter) and gluten (flour). Use gluten-free flour to avoid gluten.

Nutrition Info (per serving)

Nutritional content is for informational use and is not a substitute for healthcare advice.
  • Calorie Count: 590
  • Total Fat: 31 g
  • Carbohydrates: 17 g
  • Proteins: 54 g