Go Back
+ servings
ossobuco alla milanese served over a bed of saffron risotto, and topped with gremolata.

Ossobuco alla Milanese

Course: Main Course
Cuisine: Italian
Prep Time: 10 minutes
Cook Time: 1 hour 30 minutes
Total Time: 1 hour 40 minutes
Servings: 4
Calories: 401kcal
This traditional ossobuco recipe is rich, full of flavour and super easy to make at home. Serve on any occasion for the perfect Italian meal.
Print Recipe


  • 4 veal shanks 1 ½ inches thick, 9-12 oz each
  • 3 tablespoon all purpose flour
  • 3 tablespoon extra-virgin olive oil or butter
  • ½ white onion finely chopped
  • ½ cup white wine (120 ml)
  • 2 cups vegetable or beef broth (480 ml)
  • sea salt and freshly-cracked black pepper
  • 1 garlic clove
  • zest of 1 organic lemon
  • handful fresh flat-leaf parsley


  • Make small incisions over the outer lining of the veal shunks. This will prevent the slices from curling during the cooking time.
  • Place the flour in a large bowl or shallow dish, and lightly flour the meat slices on both sides, shaking off the flour in excess.
  • Heat the extra-virgin olive oil in a large pot over medium-low heat, add the onion and cook until translucent, stirring often to prevent it from burning.
  • Add in the veal shanks and brown them on both sides.
  • Turn the heat to medium, pour in the white wine, and let it evaporate, about 3-5 minutes.
  • Pour in enough stock so that the meat is just half-submerged in the liquid. Season with sea salt and black pepper to taste. Lower the heat to a minimum, cover, and cook for about 1½ hours, adding a bit of broth when necessary, to keep the meat moist.
  • Right before you take the meat off the heat, prepare the gremolata. Finely chop together the garlic with the lemon zest and parsley, and mix all the ingredients together.
  • Remove the pot from the heat, top each slice of veal with the prepared gremolata, and serve with risotto alla milanese or your favorite side dish.


Ossobuco is naturally dairy-free if you use extra-virgin olive oil instead of butter. To make it gluten-free, simply substitute the all-purpose flour with rice flour.
Ossobuco tastes even better the next day! Store the cooked meat and its juices in an airtight container, and keep in the fridge up to 2 days. 
To serve, reheat, covered, in preheated oven to 150C /300F, for about 30 minutes, adding a little extra broth (or water) to prevent the meat from drying out.


Calories: 401kcal | Carbohydrates: 7g | Protein: 44g | Fat: 18g | Saturated Fat: 4g | Polyunsaturated Fat: 2g | Monounsaturated Fat: 11g | Cholesterol: 170mg | Sodium: 192mg | Potassium: 763mg | Fiber: 1g | Sugar: 1g | Vitamin A: 1IU | Vitamin C: 3mg | Calcium: 55mg | Iron: 2mg