🇮🇹 Italian · Main Dish

🍖 Osso Buco alla Milanese

Osso Buco alla Milanese

Veal shanks braised low and slow in wine, stock, and vegetables until fall-off-the-bone tender, finished with a bright, garlicky gremolata and traditionally paired with saffron risotto.

★ 4.8 (240 reviews)
180 minTotal time
30 minPrep
150 minCook
4Servings
520Calories
HardDifficulty

The name literally means 'bone with a hole,' referring to the marrow-filled shank bone at the center of each portion, considered a delicacy in its own right and traditionally scooped out and savored at the end of the meal.

Ingredients

Equipment: Heavy-bottomed pot or Dutch oven with lid, Kitchen twine

  • 4 veal shanks, about 4cm thick, tied around the middle
  • Flour, for dredging
  • 1 onion, finely chopped
  • 1 carrot, finely chopped
  • 1 celery stalk, finely chopped
  • 3 cloves garlic, minced
  • 250 ml (1 cup) dry white wine
  • 400 g (14 oz) canned crushed tomatoes
  • 500 ml (2 cups) beef or veal stock
  • 2 bay leaves
  • 60 ml (¼ cup) extra virgin olive oil
  • Salt and pepper, to taste
  • Zest of 1 lemon, finely grated, for the gremolata
  • 2 cloves garlic, minced, for the gremolata
  • Fresh parsley, finely chopped, for the gremolata

Method

  1. Season the veal shanks and dredge lightly in flour, shaking off the excess.
  2. Warm the olive oil in a heavy pot and brown the shanks well on all sides in batches, then set aside.
  3. In the same pot, sauté the onion, carrot, and celery until softened, then add the garlic and cook briefly.
  4. Pour in the wine, scraping up any browned bits from the bottom of the pot, and let it reduce by half.
  5. Return the shanks to the pot, add the crushed tomatoes, stock, and bay leaves, and bring to a gentle simmer.
  6. Cover and cook low and slow, either on the stovetop or in a 160°C (325°F) oven, for 2–2.5 hours, until the meat is very tender and nearly falling from the bone.
  7. Meanwhile, combine the lemon zest, minced garlic, and parsley for the gremolata.
  8. Once the shanks are tender, remove the twine, plate with plenty of sauce, and finish each portion with a sprinkle of fresh gremolata.

Chef Tips

  • Tying the shanks with twine around the middle helps them hold their shape through the long braise.
  • Low, gentle heat over a long time is essential — rushing with high heat toughens the meat rather than tenderizing it.
  • The gremolata, added fresh at the very end, provides essential brightness to cut through the rich, slow-cooked sauce.

Common Mistakes to Avoid

  • Skipping the initial browning step, which builds essential depth of flavor in the finished sauce.
  • Cooking at too high a temperature, which can toughen the meat instead of breaking it down gently.
  • Forgetting the gremolata, which is not a garnish but an essential flavor component of the finished dish.

Nutrition (per serving)

520Calories
42gProtein
14gCarbs
28gFat
2gFiber
480mgSodium

Health Benefits

  • A good source of protein and collagen from the slow-braised veal shank.

Cultural Note

Osso buco alla Milanese is a defining dish of Lombardy, classically served alongside risotto alla Milanese for a complete, celebratory meal centered on the region's saffron and veal traditions.

Storage & Serving

Storage: Refrigerate up to 3 days; flavor deepens further the next day.

Reheating: Reheat gently on the stovetop or in the oven, covered, until warmed through.

Serve with: Risotto alla Milanese, traditionally, A robust red wine from Lombardy

dairy-freenut-free

Related Recipes