Go Back
+ servings
A close up of ossobuco on a plate
Print Recipe
5 from 1 vote

Ossobuco Milanese

Traditional Ossobuco alla Milanese (Milan style veal shanks) braised in an incredible tomato and white wine sauce until the meat is extra tender and falling off the bone. Served with Risotto alla Milanese and topped with zesty gremolata it's the ultimate comforting meal.
Prep Time10 mins
Cook Time3 hrs
Total Time3 hrs 10 mins
Course: Main Course
Cuisine: Italian
Servings: 4 servings
Calories: 390kcal
Author: Emily Kemp


  • kitchen string (optional)


  • 4 bone in veal shanks about 1 inch/2.5cm thick
  • 1-2 tablespoon flour for dredging
  • 1 carrot finely chopped
  • 1 celery stalk finely chopped
  • 1 onion finely chopped
  • 2 cloves garlic finely chopped
  • 1 bay leaf
  • 2 sprigs rosemary
  • 3 tablespoon tomato paste tomato puree UK
  • 2 cups chicken stock (500ml)
  • 1 cup white wine (125ml)
  • Salt and pepper to taste
  • 1-2 tablespoon olive oil
  • gremolata (finely chopped parsley, lemon and garlic for serving)


  • Sprinkle the veal shanks with salt and press it into it so it sticks. Put the flour on a plate and dust all sides of the veal shanks in flour, shaking off any excess.
  • Heat 1-2 tablespoon of olive oil in a large skillet or Dutch oven. Once hot, brown the veal on both sides. Remove and set aside on a plate.

Optional step - presentation only

  • To stop the ossobuco from falling apart while it cooks you can tie each piece with kitchen string. This is only necessary for presentation purposes and doesn’t affect the flavour.

Make the sauce

  • Heat more olive oil in the same pan you browned the veal if necessary then add the finely chopped carrot, celery and onion. Saute the vegetables on a medium heat until softened but not browned. Add the garlic and saute for 1 more minute.
  • Next, add the white wine and reduce the liquid by half. Add the chicken stock and tomato paste and stir to combine.
  • Add the herbs and place the veal back into the pan with the sauce. Cover with a lid and simmer gently for 2 hours.
  • After 2 hours, remove the lid and simmer uncovered for 30 minutes until the sauce has reduced and thickened slightly.
  • Serve topped with gremolata.



  • Serving suggestions - serve your Ossobuco with Risotto alla Milanese (saffron risotto) or any risotto you like, creamy polenta or mashed potatoes would also work really well - don't forget the crusty bread!
  • Gremolata - it sounds fancy but it takes 2 minutes to make. Finely chop up fresh parsley, garlic and lemon zest and sprinkle it over the veal shanks right before serving. Trust me, you don't want to skip it!
  • Dust the veal in flour - this is an important step for thickening your sauce!
  • To stop your veal from falling apart - your veal shanks may get so tender that the meat starts to fall off the bone towards the end of cooking. I personally don't mind this it's hearty, rustic and delicious but if you want to keep them whole you can tie each shank with a piece of kitchen string after browning to keep them together whilst cooking.
  • Leftovers & freezing - leftovers will keep well in the fridge for 2-3 days and can be reheated. You can also freeze the Ossobuco in suitable containers/bags then defrost it completely before reheating.


Calories: 390kcal | Carbohydrates: 11g | Protein: 47g | Fat: 12g | Saturated Fat: 3g | Cholesterol: 170mg | Sodium: 343mg | Potassium: 1093mg | Fiber: 2g | Sugar: 4g | Vitamin A: 2779IU | Vitamin C: 6mg | Calcium: 76mg | Iron: 3mg