Osso Buco Milanese Classic

Featured in: Everyday Suppers

Osso Buco Milanese showcases succulent veal shanks braised to perfection in a hearty tomato and vegetable sauce. The slow cooking process brings out deep flavors, balanced by a fresh and zesty gremolata made from parsley, garlic, and lemon zest. This elegant dish is ideal for a comforting main course and pairs beautifully with saffron risotto or creamy mashed potatoes. Slow-braising tenderizes the meat while infusing it with aromatic herbs and a touch of white wine, creating a rich and satisfying experience.

Updated on Mon, 29 Dec 2025 08:01:00 GMT
Tender Osso Buco served with vibrant gremolata, imagine the succulent braised veal shanks. Save Pin
Tender Osso Buco served with vibrant gremolata, imagine the succulent braised veal shanks. | vectoroven.com

The first time I truly understood the magic of slow cooking was in a cramped Milanese kitchen on a rainy afternoon, watching my nonno orchestrate veal shanks in a pot as if conducting a symphony. He moved with such unhurried certainty, letting time do the work that impatience never could. That dish taught me that some meals demand patience, but reward you with flavors so deep and tender they feel like a hug from someone who knows you well. Osso buco isn't just food; it's a lesson in trusting the process.

I remember making this for my partner during a particularly long winter, when we both needed something that felt like comfort and celebration at once. The kitchen filled with such a warm, savory aroma that we kept opening the oven door just to breathe it in, which probably added twenty minutes to the cooking time but made the waiting almost as good as the eating. When we finally sat down, the first spoonful of that glossy sauce with the tender meat made us both go quiet—not awkward quiet, but the kind where you're too busy being happy to speak.

Ingredients

  • Veal shanks (4, about 350 g each, cross-cut, bone-in): These are the soul of the dish; the cross-cut exposes the marrow which enriches the sauce as it braises, and the bone-in keeps everything moist and flavorful.
  • Salt and freshly ground black pepper: Season generously before dredging; this is your only chance to season the meat itself before it hits the liquid.
  • All-purpose flour (40 g) or gluten-free flour: The light dredging creates a thin crust that helps brown the meat and thickens the sauce slightly.
  • Olive oil (2 tbsp) and unsalted butter (2 tbsp): Together they create a fat that browns beautifully without burning, and the butter adds a subtle richness that olive oil alone can't quite achieve.
  • Onion, carrots, celery, and garlic: This is your aromatic base; don't rush the chopping or the sautéing, as these vegetables become the foundation of everything that follows.
  • Dry white wine (1 cup): Use something you'd actually drink; the wine becomes part of the story, not just a cooking ingredient.
  • Diced tomatoes (1 can, 400 g) and tomato paste (2 tbsp): The tomatoes provide acidity and body, while the paste concentrates flavor and helps thicken the sauce naturally.
  • Beef or veal stock (1 1/2 cups): Good stock is worth its weight in gold here; it's the backbone of depth in this braise.
  • Bay leaves (2) and dried thyme (1 tsp): These quiet herbs work in the background, building complexity without announcing themselves.
  • Lemon zest: Reserve it for two purposes: some goes into the braising liquid for subtle brightness, and the rest joins the gremolata for that final spark.
  • Fresh flat-leaf parsley and garlic for gremolata: This is your final move, your chance to add freshness and cut through the richness with confidence.

Instructions

Product image
Quickly chop vegetables, blend sauces, and prepare dips or dressings for fast, everyday meal prep.
Check price on Amazon
Prepare the veal:
Pat your shanks completely dry with paper towels—any moisture will steam instead of brown. Season generously with salt and pepper, then dredge lightly in flour, shaking off the excess so they're barely coated.
Sear until golden:
Heat your olive oil and butter together over medium-high heat until the butter foams and smells nutty. Working carefully so you don't crowd the pot, brown each shank on all sides for 3 to 4 minutes per side, then transfer to a plate and set aside.
Build your base:
In the same pot (don't wash it!), add your chopped onion, carrots, celery, and garlic. Sauté for about 6 minutes, stirring occasionally, until the vegetables soften and start to smell sweet.
Deepen the flavor:
Stir in your tomato paste and let it cook for about a minute, coating the vegetables and deepening in color. This concentrates the tomato flavor in a way that's almost impossible to rush.
Deglaze with wine:
Pour in your white wine slowly, scraping the bottom of the pot with a wooden spoon to lift up all those browned bits—that's pure flavor you don't want to leave behind. Let it bubble and reduce slightly.
Add the braising liquid:
Stir in your tomatoes with their juice, stock, bay leaves, thyme, and half the lemon zest. The liquid should come about three-quarters of the way up the shanks; if it doesn't, add a splash more stock.
Return the shanks:
Nestle the veal shanks back into the pot in a single layer, then spoon some of that beautiful sauce over the top of each one. Bring everything to a gentle simmer on the stovetop.
Braise low and slow:
Cover the pot and transfer it to a preheated oven at 160°C (325°F) for 2 hours, or until the veal is so tender a fork slides through it without resistance. You shouldn't need to stir, but you can peek after an hour if you can't help yourself.
Prepare the gremolata:
While the veal braises, finely chop your parsley and mince your garlic, then combine them with the reserved lemon zest. This mixture should be pungent and bright, almost aggressive in its freshness.
Finish and serve:
Remove the shanks carefully to a platter. If the sauce looks fatty, skim the surface with a spoon or blot with a paper towel, then taste and adjust the seasoning. If you prefer a thicker sauce, simmer it on the stovetop for a few minutes, and if it tastes a bit thin, let it reduce a little longer.
Product image
Quickly chop vegetables, blend sauces, and prepare dips or dressings for fast, everyday meal prep.
Check price on Amazon
This comforting Italian Osso Buco shows seared veal, slow-cooked in a rich tomato sauce with vegetables. Save Pin
This comforting Italian Osso Buco shows seared veal, slow-cooked in a rich tomato sauce with vegetables. | vectoroven.com

Years later, I made this for someone who thought they didn't like veal, and after one bite they were quiet in a way that told me everything I needed to know. That's when I realized that osso buco isn't about convincing people to like something; it's about creating a moment where the food speaks for itself, and everyone at the table leans in to listen.

The Art of Braising

Braising is one of those cooking techniques that looks passive but actually demands attention and care—it's the difference between patience and negligence. The low, moist heat transforms tough cuts into something tender and complex, and the time invested is what makes this dish feel worth the effort. Once you understand how braising works, you'll find yourself using it for almost everything: chicken thighs, beef chuck, even root vegetables.

What to Serve Alongside

The traditional pairing is saffron risotto (Risotto alla Milanese), which soaks up that glorious sauce and adds its own subtle luxury. If you're not in the mood for risotto, creamy mashed potatoes are equally wonderful and require far less attention. Some nights I make soft polenta instead, which you can prepare while the veal braises, and it becomes almost a blank canvas for that rich sauce to shine.

Storing and Reheating

This dish actually tastes better the next day, once the flavors have settled and deepened overnight. Store it in the refrigerator for up to three days, and when you're ready to eat it again, gently reheat it on the stovetop over low heat, covered, until it's warmed through. The gremolata should always be made fresh and added just before serving, as it loses its brightness if it sits around.

  • You can also freeze osso buco for up to three months if you want to make it ahead for a special occasion.
  • If you're doubling the recipe for guests, use a larger pot and add about 15 minutes to the braising time.
  • For a gluten-free version, simply swap in gluten-free flour for the dredging, and everything else remains exactly the same.
Product image
Make crepes, pancakes, tortillas, and omelets evenly with quick heating and precise temperature control.
Check price on Amazon
A plate of gorgeous Osso Buco with a garnish of fresh gremolata offers a flavorful, elegant meal. Save Pin
A plate of gorgeous Osso Buco with a garnish of fresh gremolata offers a flavorful, elegant meal. | vectoroven.com

This is a dish that teaches you to slow down and trust the process, and every time you make it, you'll discover something new. There's genuine magic in something so simple that's also so profoundly satisfying.

Recipe FAQs

What cut of meat is used for Osso Buco Milanese?

Veal shanks are traditionally used, cross-cut with the bone in, which provides rich flavor and tenderness after slow braising.

How does gremolata enhance the dish?

Gremolata adds a fresh, citrusy contrast with parsley, garlic, and lemon zest, brightening the rich braised flavors.

Can I make a gluten-free version?

Yes, substitute the all-purpose flour used for dredging with gluten-free flour to accommodate dietary needs.

What side dishes complement this preparation?

Traditional accompaniments include saffron risotto, polenta, or creamy mashed potatoes, enhancing the meal's comforting profile.

How long should the veal shanks be braised?

Veal shanks should be braised in a low oven at around 160°C (325°F) for approximately 2 hours until fork-tender.

Is it possible to substitute veal with other meats?

Beef shanks can be used as an alternative, though cooking time may need adjustment to reach desired tenderness.

Osso Buco Milanese Classic

Tender veal shanks slowly braised in a rich tomato and vegetable sauce with fresh gremolata.

Time to prepare
25 minutes
Time to cook
135 minutes
Overall Time
160 minutes
Created by Lucas Jenkins


Level Medium

Cuisine Italian

Makes 4 Portions

Special Diets None specified

What You Need

Veal and Seasoning

01 4 veal shanks (approximately 12 oz each, bone-in, cross-cut)
02 Salt, to taste
03 Freshly ground black pepper, to taste
04 1/3 cup (40 g) all-purpose flour or gluten-free flour 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 (8 fl oz) dry white wine
02 1 can (14 oz) diced tomatoes with juice
03 1 1/2 cups (12 fl oz) 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 Steps

Step 01

Prepare and Season Veal Shanks: Pat veal shanks dry and season generously with salt and freshly ground black pepper. Lightly dredge in flour, shaking off any excess.

Step 02

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

Step 03

Sauté Vegetables: In the same pot, add finely chopped onion, diced carrots, diced celery, and minced garlic. Sauté until softened, approximately 6 minutes.

Step 04

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

Step 05

Add Braising Ingredients: Add diced tomatoes with juice, beef or veal stock, bay leaves, dried thyme, and half of the lemon zest. Stir to combine thoroughly.

Step 06

Combine Veal with Braising Liquid: Return the veal shanks to the pot, arranging them in a single layer and spooning sauce over each piece. Bring to a gentle simmer.

Step 07

Braise in Oven: Cover the Dutch oven and braise in a preheated oven at 325°F (160°C) for 2 hours, or until the meat is fork-tender.

Step 08

Prepare Gremolata: While veal cooks, combine fresh parsley, minced garlic, and the reserved lemon zest to make the gremolata.

Step 09

Finish and Serve: Remove veal shanks from the pot onto a serving platter. Skim fat from the sauce as needed and simmer to thicken if desired. Spoon the sauce over shanks and garnish with gremolata before serving.

What You’ll Need

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

Allergy Details

Review every component for allergens. See a health expert if unsure.
  • Contains dairy (butter)
  • Contains gluten if using all-purpose flour; substitute with gluten-free flour if necessary

Nutrition details (each serving)

Only for informational use—this isn't a substitute for a doctor's advice.
  • Energy: 590
  • Fat Content: 31 grams
  • Carbohydrates: 17 grams
  • Proteins: 54 grams