Skip to content
Osso Buco alla Milanese (Braised Veal Shanks)
italiandinner✨ New

Osso Buco alla Milanese (Braised Veal Shanks)

Milan's iconic braise of veal shanks slow-cooked with wine, broth and gremolata — meltingly tender meat with marrow scooped from the bone.

Prep
25 min
Cook
150 min
Servings
4
Difficulty
Hard
4.9
Sign in to rate
#italian#lombardy#braise#veal#winter#celebration

About This Recipe

Osso buco — literally 'bone with a hole' — is Lombardy's signature braise and one of the great dishes of Northern Italian cuisine. Thick cross-cut veal shanks, each centered on a precious cylinder of marrow, are dredged in flour, browned hard in butter and olive oil, then braised slowly in white wine, broth and tomato until the meat is fall-off-the-bone tender and the marrow has melted into a rich, custard-like center. The final flourish is gremolata — a raw mince of lemon zest, garlic and flat-leaf parsley scattered over the top just before serving, which lifts the deep braise with a bright, almost electric perfume. The Milanese serve osso buco with risotto alla milanese (saffron risotto) on the same plate, never with bread or pasta, and a small silver marrow spoon is provided for scooping the prized center. Done properly, it takes two and a half hours but rewards every minute: an autumn or winter dinner that tastes of an era when butter was generous and time was longer.

Ingredients

Serves 4

  • 4veal hind shanks, cross-cut 4 cm thick, tied around the equator with butcher's twine
  • 60 g00 flour, for dredging
  • 60 gunsalted butter
  • 3 tbspextra-virgin olive oil
  • 1 largeyellow onion, finely diced
  • 1carrot, finely diced
  • 1 stickcelery, finely diced
  • 3 clovesgarlic, smashed
  • 250 mldry white wine (Pinot Grigio, Vermentino, or Soave)
  • 400 mlveal or chicken stock, hot
  • 200 gcanned San Marzano tomatoes, crushed by hand
  • 1bay leaf
  • 2 sprigsfresh thyme
  • fine sea salt and freshly ground black pepper
  • 1 small bunchflat-leaf parsley, leaves only, finely chopped (for gremolata)
  • 1lemon, zest only, finely grated (for gremolata)
  • 1 large clovegarlic, very finely minced (for gremolata)

Instructions

  1. 1

    Prep the shanks

    Pat the veal shanks completely dry with paper towel. Tie each one snugly around the equator with butcher's twine — this keeps them from falling apart during the long braise. Season heavily with salt and pepper.

    Dry meat browns; wet meat steams. Don't skip the drying step.

  2. 2

    Dredge and brown

    Dredge each shank in flour, shaking off the excess. Heat butter and oil in a heavy Dutch oven over medium-high until the butter foam subsides. Brown the shanks 4 minutes per side until deeply mahogany — work in two batches to avoid crowding. Transfer to a plate.

  3. 3

    Build the soffritto

    Reduce heat to medium. Add onion, carrot, celery and smashed garlic to the same pot. Cook 8–10 minutes, stirring often, until soft and just starting to color. Don't rush — the soffritto is the base of the sauce.

  4. 4

    Deglaze with wine

    Pour in the white wine, scraping the fond from the bottom of the pot. Boil hard 3 minutes until reduced by half — the smell turns from raw to mellow.

  5. 5

    Build the braise

    Stir in the tomatoes, bay leaf and thyme. Return the shanks to the pot in a single layer, with any plate juices. Add enough hot stock to come two-thirds up the sides of the shanks — not to cover the marrow tops.

  6. 6

    Long braise

    Bring to a bare simmer, then cover and transfer to a 160°C / 320°F oven for 2 to 2.5 hours. Turn the shanks once halfway. They are done when a fork meets no resistance in the meat and the marrow trembles in its bone.

  7. 7

    Rest and reduce

    Carefully lift the shanks to a warm plate and cover loosely with foil. Strain the braising liquid into a saucepan (or leave the vegetables in for a rustic sauce), discard bay and thyme, and reduce over high heat 5 minutes until lightly thickened. Taste for salt.

  8. 8

    Make gremolata

    Toss the parsley, lemon zest and garlic together with the back of a knife — no oil, no salt. The mixture should look bright green and smell sharp.

    Make gremolata at the last second; it loses its punch within 20 minutes.

  9. 9

    Serve

    Snip the twine off each shank. Place one on each plate, spoon over the sauce, and finish with a generous scatter of gremolata. Serve with risotto alla milanese on the side — never pasta, never bread.

Did you make this?

Rate it and help other cooks find the recipes that actually work.

One tap to sign in, and we'll save the rating you just picked.

Everything you need to plan your week — free

  • Meal calendar
  • Grocery list
  • AI recipe ideas

Track what you eat

Snap your meal to log calories and macros, run fasting timers and track water in the free SnapCal app.

Download Now

Pro Tips

  • →

    Buy your shanks from a real butcher — supermarket osso buco is often cut too thin (under 3 cm). You want 4 cm shanks with a generous marrow center.

  • →

    Don't skip the tying step. Untied shanks loosen and fall apart in the braise, losing the marrow into the sauce.

  • →

    Veal stock is ideal but rarely available — homemade chicken stock is the next best. Avoid bouillon cubes; they overwhelm the delicate veal flavor.

  • →

    Make osso buco a day ahead and reheat gently — the flavor deepens overnight and the sauce sets to a beautiful gelatinous consistency.

Variations

  • •

    Osso buco in bianco — the original Milanese version, made without tomato, lighter and more elegant. Skip step 5's tomato addition.

  • •

    With lemon and anchovy — Renaissance-era variant adds a salted anchovy fillet to the soffritto for umami depth.

  • •

    Pork osso buco — substitute pork shanks for a richer, less expensive version popular in Tuscany. Reduce cooking time by 30 minutes.

  • •

    Slow-cooker adaptation — brown on the stovetop, then 8 hours on low. Quality is slightly less but the convenience is real.

Storage

Refrigerate up to 4 days — the flavor improves notably on day two. Reheat covered in a 150°C oven for 20 minutes, never on the stovetop direct heat (toughens the meat). Freezes 3 months in its sauce.

History & Origin

Osso buco originated in Milanese kitchens of the late 18th century, recorded in print by Pellegrino Artusi in his 1891 cookbook 'La scienza in cucina'. The dish became internationally known after WWII as Italian-American restaurants in New York added tomato to the original 'in bianco' (white) recipe, creating the version most diners know today.

Frequently Asked Questions

Can I use beef shanks instead of veal?

Yes, but they take longer (about 3.5 hours) and the flavor is heartier and beefier — closer to a Sunday pot roast than the delicate original. The marrow center is the same. Lamb shanks work too, with 2 hours of braising.

Why is my sauce thin?

Either you used too much stock at step 5 (it should come only two-thirds up) or you didn't reduce the strained sauce in step 7 long enough. Reduce uncovered until it coats a spoon.

What if I can't find San Marzano tomatoes?

Any good Italian canned plum tomato works — Mutti is excellent. Avoid pre-crushed or 'kitchen ready' tomatoes; they include added paste that tastes flat in a long braise.

Is gremolata really necessary?

Yes — without gremolata osso buco tastes heavy and one-note. The raw lemon zest, garlic and parsley cut through the braise and elevate it from a stew to a great dish. Don't skip it.

Nutrition Facts

Per serving (480g / 16.9 oz) · 4 servings total

Calories720kcal
Protein58g
Carbohydrates22g
Fat38g
Fiber3g
Protein58g
Carbs22g
Fat38g

Time Summary

Prep time25 min
Cook time150 min
Total time175 min

Have Questions?

Ask our AI cooking assistant anything about this recipe — substitutions, techniques, scaling.

Chat with AI Chef →

Community

Join the conversation

Sign in to leave a comment and save your favourite recipes