Skip to content
🍖
italiandinner

Osso Buco alla Milanese

Meltingly tender braised veal shanks in a rich saffron-scented tomato broth, finished with bright, herby gremolata — the pride of Milan.

Prep
25 min
Cook
120 min
Servings
4
Difficulty
Hard
4.8(1,120 ratings)
#italian#braised#veal#milanese#slow-cook#winter

About This Recipe

Osso buco, meaning 'bone with a hole' in Italian, is the signature dish of Milan and one of the great slow-braises of European cooking. Cross-cut veal shanks are browned until caramelised, then slowly braised in white wine, broth and vegetables until the meat collapses off the bone and the central marrow turns silky and rich. A final scatter of gremolata — a vibrant mix of lemon zest, garlic and parsley — cuts through the richness and lifts the entire dish. Classically served with saffron-scented risotto alla Milanese, it is a dish that rewards patience handsomely.

Ingredients

Serves 4

  • 4veal osso buco shanks(about 300–350g each, 4–5cm thick)
  • 60 gplain flour(for dredging)
  • 4 tbspolive oil
  • 40 gunsalted butter
  • 1 largeonion(finely diced)
  • 2carrots(finely diced)
  • 2 stalkscelery(finely diced)
  • 4 clovesgarlic(minced)
  • 200 mldry white wine
  • 400 gcanned whole plum tomatoes(crushed by hand)
  • 400 mlchicken or veal stock
  • 1bay leaf
  • 2 sprigsfresh thyme
  • salt and black pepper
  • 2 tbspflat-leaf parsley(gremolata — finely chopped)
  • 1lemon(gremolata — zest only)
  • 1 clovegarlic(gremolata — finely minced)

Instructions

  1. 1

    Prepare and brown the veal

    Pat the veal shanks completely dry with paper towel — moisture is the enemy of a good sear. Season generously on both sides with salt and black pepper. Dredge lightly in flour, shaking off excess. Heat olive oil in a wide, heavy-based dutch oven or casserole over medium-high heat. Sear the shanks for 4–5 minutes per side until deeply golden-brown all over. Work in batches if needed; never crowd the pan. Transfer to a plate.

    Tie the shanks around the equator with kitchen twine before browning to hold the meat on the bone during the long braise.

  2. 2

    Build the soffritto

    Reduce the heat to medium. Add the butter to the pan. Add the onion, carrot and celery (the soffritto) and cook, stirring occasionally, for 10–12 minutes until softened and beginning to turn golden. Scrape up any browned bits from the bottom of the pan — that is pure flavour. Add the garlic and cook for a further 2 minutes until fragrant.

  3. 3

    Deglaze and build the braise

    Pour in the white wine and increase the heat. Let it boil and reduce by half, scraping the base constantly, about 3 minutes. Add the crushed tomatoes, stock, bay leaf and thyme. Stir to combine and bring to a gentle simmer. The liquid should come about halfway up the shanks — add a splash more stock if needed.

  4. 4

    Braise low and slow

    Nestle the browned veal shanks back into the pan, ensuring they are standing upright (bone up) so the precious marrow stays in the bone as it braises. Place a tight-fitting lid on the pot, reduce heat to the lowest setting, and braise for 1 hour 45 minutes to 2 hours. Check every 30 minutes and turn the shanks gently. The meat is ready when it is completely tender and starting to pull away from the bone.

    Alternatively, braise in a 160°C (325°F) oven with the lid on — the even, ambient heat produces an even more tender result.

  5. 5

    Make the gremolata

    While the veal finishes braising, combine the finely chopped flat-leaf parsley, lemon zest and minced garlic in a small bowl. Mix together and set aside. The gremolata should be made fresh and added at the very last moment — its brightness and fragrance fade quickly.

  6. 6

    Finish and serve

    Transfer the shanks carefully to warm plates. If the sauce is thin, simmer it uncovered over medium heat for 5–10 minutes to reduce and concentrate. Taste for seasoning and adjust with salt and pepper. Spoon the sauce generously over the shanks. Scatter the gremolata over the top and serve immediately alongside saffron risotto alla Milanese or creamy polenta.

Pro Tips

  • Ask your butcher to cut the shanks 4–5cm thick — too thin and the meat dries out before the collagen has time to break down into gelatin.

  • The marrow inside the bone is a delicacy. Scoop it out with a small spoon and spread on toasted bread for a cook's treat.

  • Do not skip the gremolata — the fresh lemon zest and raw garlic are essential to balance the richness of the braise.

  • Osso buco is even better the next day, once the flavours have had time to develop further.

Variations

  • Bianco version: omit the tomatoes entirely and use only white wine and stock for a more delicate, golden braise.

  • Lamb osso buco: substitute cross-cut lamb shanks for a more robustly flavoured, slightly earthier version.

  • Pork osso buco: use thick-cut pork shanks for a more affordable weeknight version with similar results.

Storage

Store leftovers in an airtight container in the refrigerator for up to 3 days. The flavour deepens overnight. Reheat gently over low heat with a splash of stock to prevent the sauce from drying out. Add fresh gremolata after reheating, never before.

History & Origin

Osso buco has been a Milanese institution since at least the 19th century, and recipes appear in Italian cookbooks from the 1850s. The dish reflects the Lombard tradition of using every part of the animal — the marrow was as prized as the meat. The 'alla Milanese' designation traditionally means it is served with saffron risotto, a pairing that has become inseparable in Italian culinary culture.

Frequently Asked Questions

Can I use pork or lamb instead of veal?

Yes. Pork and lamb shanks both work well using the same method. Pork shanks are more affordable and widely available, and produce a rich, succulent result after the same long braise. Lamb shanks have a stronger, more gamey flavour that pairs particularly well with rosemary and olives added to the braising liquid. Adjust seasoning to suit the stronger flavours of these meats.

What wine should I use for braising?

Use a dry white wine that you would be happy to drink — never 'cooking wine'. A Pinot Grigio, Soave or Vermentino from northern Italy is ideal. Avoid oaky, heavily buttery whites like oaked Chardonnay, as the oak flavour can turn bitter during long cooking. The wine should add acidity and depth without dominating the finished braise.

Do I have to use the oven or can I braise on the stovetop?

Both methods work well. Stovetop braising on the lowest heat gives you more control and lets you check progress easily. Oven braising at 160°C produces more even, gentle heat that is slightly more forgiving and less likely to scorch the bottom. If using the stovetop, place a heat diffuser under the pot or use the smallest burner on its lowest setting to maintain a very gentle simmer.

Nutrition Facts

Per serving (450g / 15.9 oz) · 4 servings total

Calories520kcal
Protein52g
Carbohydrates18g
Fat22g
Fiber3g
Protein52g
Carbs18g
Fat22g

Time Summary

Prep time25 min
Cook time120 min
Total time145 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