Osso Buco Milanese Classic

Featured in: Fried Classics

Osso Buco is a traditional Milanese preparation featuring tender veal shanks braised slowly in a savory tomato and vegetable sauce. The long cooking time ensures the meat becomes fork-tender and infused with rich, layered flavors. The dish is brightened by a fresh gremolata of parsley, garlic, and lemon zest, adding a zesty contrast. Ideal for an elegant yet hearty main dish, it pairs beautifully with saffron risotto, polenta, or creamy mashed potatoes. Adjustments like gluten-free flour or beef shanks can be made to suit dietary preferences.

Updated on Sat, 27 Dec 2025 11:21:00 GMT
Tender Osso Buco served with vibrant gremolata, imagine the savory aroma filling the kitchen. Save
Tender Osso Buco served with vibrant gremolata, imagine the savory aroma filling the kitchen. | fryzia.com

The first time I really understood what slow cooking meant was in a Milan kitchen on a gray afternoon, watching veal shanks turn from ordinary to extraordinary as they braised low and gentle for hours. There's something about the ritual of it—the initial sear, the layering of flavors, the way the whole apartment fills with that deep, savory perfume—that made me stop rushing through dinner and actually sit with the process. Osso buco taught me that the best dishes aren't about speed; they're about patience and letting time do the work your hands can't.

I made this for my partner on a night when we both needed to slow down, and somewhere between the second glass of wine and stirring those shanks into the pot, we stopped talking about our week and just... existed together in that warm kitchen. That's when I realized osso buco isn't just dinner—it's an excuse to be present.

Ingredients

  • Veal shanks (4 pieces, about 350 g each): Cross-cut pieces with the bone intact are everything here; the marrow adds depth you can't replicate, and the bone helps the meat hold its shape during that long braise.
  • Salt and freshly ground black pepper: Don't skip the freshly ground part—it makes a real difference in how the flavors open up.
  • All-purpose flour (1/3 cup): This light dredge creates a subtle crust that helps capture all those pan flavors; just shake off the excess so nothing gets gummy.
  • Olive oil and unsalted butter (2 tbsp each): The combination gets you a sear that's both rich and clean, and butter gives you that nutty depth.
  • Onion, carrots, celery (1 large, 2 medium, 2 stalks): This is your flavor base, and chopping them fine means they meld completely into the sauce rather than staying separate.
  • Garlic cloves (4, minced): Fresh garlic becomes almost sweet during a long braise, so don't hold back.
  • Dry white wine (1 cup): A wine you'd actually drink; cheap wine makes cheap sauce, and you'll taste it for two hours.
  • Diced tomatoes with juice (1 can, 400 g): The juice is liquid gold—don't drain it.
  • Beef or veal stock (1.5 cups): Homemade is better, but good quality store-bought works; it's what carries all those flavors into the meat.
  • Tomato paste (2 tbsp): A small amount concentrated flavor without making the sauce taste like tomato soup.
  • Bay leaves and dried thyme (2 and 1 tsp): These herbals provide a subtle backbone; don't skip them thinking they won't matter.
  • Lemon zest (from 2 lemons): Half goes into the braising liquid for complexity, the other half becomes gremolata—that final zing that makes people sit up and notice.
  • Fresh flat-leaf parsley and garlic for gremolata (2 tbsp and 1 clove): This is your ace card; the brightness right at the end transforms the whole dish.

Instructions

Prepare your veal:
Pat those shanks completely dry—moisture is the enemy of browning. Season them generously with salt and pepper, then give them a light coat of flour, shaking off anything that doesn't cling naturally. You want just enough to create a delicate crust, not a thick coating.
Sear for color and flavor:
Heat your oil and butter together until it's shimmering and smells almost nutty. Working with two or three shanks at a time so you don't crowd the pan, sear each piece until it's golden brown on all sides—this takes about 3 to 4 minutes per side. You're not cooking the meat through; you're building flavor on the surface.
Build your flavor base:
In that same pot with all those browned bits still clinging to the bottom, add your chopped vegetables and sauté gently until they're soft and the onion turns translucent, which takes about 6 minutes. The vegetables should smell sweet, not burnt.
Deepen the sauce:
Add the tomato paste and let it cook for just one minute, stirring constantly so it doesn't burn. Then pour in your wine, scraping the bottom of the pot with a wooden spoon to release all those caramelized bits—that's flavor gold.
Build the braising liquid:
Add the tomatoes with their juice, the stock, bay leaves, thyme, and about half your lemon zest. Give everything a good stir, tasting as you go to make sure the balance feels right to you.
Return the veal and start braising:
Nestle those browned shanks back into the pot in a single layer, spooning some of that liquid over each piece. Bring it all to a gentle simmer—you should see just a few lazy bubbles breaking the surface, not an aggressive boil.
Low and slow in the oven:
Cover your pot and slide it into a preheated 160°C/325°F oven for 2 hours. The veal should be fork-tender by the end, the meat pulling easily from the bone but not falling apart. This is where the magic happens—time and gentle heat transforming tough cuts into something sublime.
Make your gremolata:
While everything braises, finely chop your parsley and mince a fresh garlic clove, then combine with the remaining lemon zest. This only takes 2 minutes and tastes freshly alive against all that deep, long-cooked richness.
Finish and serve:
Remove the shanks to a warm platter. Skim any excess fat from the surface of the sauce if you like it less rich, then let it simmer gently on the stovetop for a few minutes if it seems too thin. Spoon the sauce over the shanks and finish each one with a generous pinch of that bright green gremolata just before serving.
Save
| fryzia.com

There's a moment near the end of the braise, maybe at the hour-and-45-minute mark, when you open the oven and that steam hits your face and you smell something so completely, deeply satisfying that you suddenly understand why people cook. That's osso buco.

What to Serve Alongside

Saffron risotto is the traditional pairing, creamy and golden and elegant, but I've had just as much success with soft polenta or mashed potatoes—anything that can soak up that incredible sauce. The vegetables in the braise are soft enough that you don't really need another vegetable, but I sometimes add a simple green salad on the side just for color and acidity, which feels nice after such a rich main course.

Building Flavor Layers

What makes osso buco work is never skipping a step or rushing the browning. That initial sear creates a crust that traps flavor, the wine deglazes all those caramelized bits into the sauce, and the long braise lets every element meld into something bigger than its parts. Think of it like building a story—each layer adds depth that you'd miss if you skipped ahead.

Timing and Make-Ahead

The hands-on work is only about 25 minutes, which means you can sear and sauté everything in the afternoon and then braise for 2 hours while you do other things—or even make it a day ahead and reheat it gently before serving. In fact, the flavors get even better after sitting overnight, which sometimes tempts me to make this on Sunday and look forward to Monday dinner. The one thing you should do fresh is the gremolata, made no more than an hour before serving so it stays bright and alive.

  • Make this dish one day ahead through the braising step for deeper flavor and easier final assembly.
  • Reheat gently and slowly, covered, at low temperature so nothing dries out.
  • Always make gremolata fresh, no more than an hour before eating.
A close-up of slow-braised Osso Buco, the veal shanks glistening in a rich tomato sauce. Save
A close-up of slow-braised Osso Buco, the veal shanks glistening in a rich tomato sauce. | fryzia.com

Osso buco is what happens when you decide that dinner matters, that the time spent cooking and eating together is time well spent. Make it, and you'll understand why it's stayed on tables for centuries.

Recipe FAQ Section

What cut of meat is best for Osso Buco?

Veal shanks that are cross-cut and bone-in are ideal, providing tender meat and rich marrow for flavor.

How long should Osso Buco be cooked?

It requires about 2 hours braising in the oven at a low temperature until the meat is fork-tender.

What is gremolata and why is it used?

Gremolata is a mix of parsley, garlic, and lemon zest that adds a fresh, zesty finish balancing the rich braised flavors.

Can I use gluten-free flour for dredging?

Yes, gluten-free flour can replace all-purpose flour to accommodate gluten sensitivities without altering the dish's texture.

What are good side dishes to serve with Osso Buco?

Classic sides include saffron risotto, polenta, or creamy mashed potatoes, which complement the savory sauce well.

Can beef shanks be substituted for veal?

Beef shanks can be used as an alternative, but cooking time may need to be extended to achieve tenderness.

Osso Buco Milanese Classic

Slow-braised veal shanks in rich tomato sauce with zesty gremolata for a comforting Milanese main course.

Prep duration
25 min
Cook duration
135 min
Complete duration
160 min
Created by Samantha Rivera

Classification Fried Classics

Complexity Level Medium

Heritage Italian

Output 4 Portion Count

Dietary considerations None specified

Components

Veal and Seasoning

01 4 veal shanks (approximately 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 as alternative), for dredging

Vegetables

01 2 tablespoons olive oil
02 2 tablespoons 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 tablespoons tomato paste
05 2 bay leaves
06 1 teaspoon dried thyme
07 Zest of 1 lemon (reserve for gremolata)

Gremolata

01 2 tablespoons fresh flat-leaf parsley, finely chopped
02 1 garlic clove, minced
03 Zest of 1 lemon (from above)

Preparation Steps

Phase 01

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

Phase 02

Brown Veal: 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, then transfer to a plate.

Phase 03

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

Phase 04

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

Phase 05

Combine Braising Ingredients: Add diced tomatoes with their juice, stock, bay leaves, thyme, and half of the lemon zest. Stir to combine.

Phase 06

Return Veal to Pot: Place veal shanks back into the pot in a single layer, spooning sauce over them. Bring to a gentle simmer.

Phase 07

Braise Veal: Cover and transfer to a preheated oven set at 325°F. Braise for 2 hours or until the veal is fork-tender.

Phase 08

Prepare Gremolata: While veal braises, combine parsley, garlic, and the remaining lemon zest to make gremolata.

Phase 09

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

Necessary tools

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

Allergy information

Review all ingredients for potential allergens and consult with healthcare providers if you're uncertain about any item.
  • Contains dairy (butter) and gluten (flour); use gluten-free flour as needed

Nutrient breakdown (per portion)

These values are approximate and shouldn't replace professional medical guidance.
  • Energy Value: 590
  • Fat: 31 g
  • Carbohydrates: 17 g
  • Protein Content: 54 g