4.84 from 12 votes
Fork tender veal braised in a rich red sauce, Osso Buco is a meal fit for a king! www.recipetineats.com
15 mins
1 hr 30 mins
1 hr 45 mins

Meltingly tender veal shanks slow cooked in a tomato sauce, a classic Italian dish! This is traditionally served with Risotto Milanese (saffron risotto) but is also terrific over mashed potato, polenta and even pasta. Gremolata is also served with Osso Buco and it provides a fantastic freshness to contrast with the richness of this dish. Recipe VIDEO below.

Servings: 5
Calories: 549 kcal
Author: Nagi
  • 5 thick veal osso bucco (300 g / 10 oz each, 2.5cm / 1” thick) (or beef, Note 1)
  • Salt and pepper
  • Kitchen string (optional)
  • 2 tbsp olive oil
  • 1 small onion , finely chopped
  • 3 garlic cloves , minced
  • 1 small carrot , finely chopped
  • 1 celery stick , finely chopped
  • 800 g / 28 oz can crushed tomato
  • 1 cup / 250 ml dry white wine (not sweet, not fruity), or chicken broth
  • 1 cup / 250 ml chicken broth
  • 1 chicken bouillon cube (optional, or use beef)
  • 2 tbsp tomato paste
  • 3 sprigs thyme or 1 ½ tsp dried thyme
  • 2 bay leaves
  • 1 cup parsley leaves (flat or curly), lightly packed
  • 2 – 3 tsp lemon zest , finely grated
  • 1 garlic clove , minced
For Serving:
  • Risotto Milanese (saffron risotto, recipe in notes), mashed potato or pasta
  1. Sprinkle both sides of the veal very generously with salt and pepper.
  2. Heat the oil in a large heavy based pot over high heat. Add beef and sear on both sides so it has a nice brown crust. Remove onto a plate, turn heat down to medium low.
  3. If the pot is looking dry, add a splash of oil. Add garlic and onion, cook for 1 minute, then add carrot and celery. Cook on low heat for 8 minutes or until it is softened and sweet.
  4. OPTIONAL: Meanwhile, tie kitchen string around each piece of veal – holds it together for nice presentation (it falls apart once slow cooked).
  5. Add tomato, wine, broth, bouillon cube (crumbled), tomato paste, thyme, and bay leaves. Mix, then return veal into pot, place lid on.
  6. Adjust heat so the liquid is simmering gently – about medium low. Cook until tender enough to be pried apart with forks – check at 1.5 hours then every 15 minutes after that.
  7. Use slotted spoon to remove veal into bowl, cover to keep warm. Simmer liquid on medium for 5 – 15 minutes or until thickened to taste. Adjust salt & pepper at the end.
  1. Traditionally served with Saffron Risotto (Risotto Milanese, recipe in notes), but is also terrific with mashed potato, creamy polenta or even pasta. Place a piece of Osso Buco on the serving plate, spoon over sauce, then top with Gremolata.

  1. Place the parsley leaves on a cutting board. Top with garlic and lemon zest. Finely chop the parsley. Transfer to serving bowl and set aside for at least 20 minutes before use.


1. Osso Buco are thick steaks cut from veal shanks. The thicker, the better, as if they are too thin, they will cook to “fall apart” too quickly without developing enough flavour. This recipe can also be made with beef but note that beef flavour is stronger than veal. Veal has the some red colour as beef but it has a more delicate flavour.

2. Osso Buco is traditionally served with saffron rissoto, Risotto Milanese. Here’s how to make it: If using saffron threads (expensive!), place 2 pinches in a bowl and add 2 tbsp hot water, set aside for 15 minutes. Or, use ¼ tsp Saffron powder. Add the Saffron when you add the broth following this Chicken and Mushroom Risotto recipe, but skip the chicken and mushrooms.

3. Nutrition per serving, Osso Buco only. I was unable to find a reliable nutrition information for veal shanks (because of the bone, I think) so I used 1 kg / 2 lb of beef chuck which I think is a fair substitution, possibly even more conservative from a fat perspective.