Osso Buco alla Milanese with Saffron Risotto inspired by Biba
Inspired by Biba

Osso Buco alla Milanese with Saffron Risotto

Main Course
This classic Italian main course features veal shanks slowly braised until the meat becomes fork-tender and the marrow inside the bone turns buttery soft. The rich tomato and wine-based sauce absorbs the essence of aromatic vegetables and herbs during the long cooking process. Traditionally served over a bright yellow saffron risotto, this dish exemplifies Northern Italian comfort food at its finest.
Prep Time 30 mins
Cook Time 180 mins
Total Time 210 mins
Servings 4

Ingredients

  • 4 pieces Veal shanks (2-inch thick, about 12 oz each)
  • 1/2 cup All-purpose flour (For dredging)
  • 3 tbsp Olive oil
  • 1 medium Yellow onion (Finely diced)
  • 2 medium Carrot (Finely diced)
  • 2 stalks Celery stalks (Finely diced)
  • 4 cloves Garlic cloves (Minced)
  • 1 cup Dry white wine (Such as Pinot Grigio)
  • 2 cups Beef broth (Low sodium)
  • 1 cup Canned crushed tomatoes
  • 2 leaves Bay leaves
  • 3 sprigs Fresh thyme sprigs
  • 1 tsp Salt
  • 1/2 tsp Freshly ground black pepper
  • 1 1/2 cups Arborio rice
  • 1 large Shallot (Finely minced)
  • 4 cups Chicken broth (Hot)
  • 1/2 tsp Saffron threads
  • 3 tbsp Unsalted butter (Divided)
  • 1/2 cup Parmesan cheese (Freshly grated)
  • 1 tsp Lemon zest (For gremolata)
  • 1 clove Garlic clove (Finely minced, for gremolata)
  • 2 tbsp Fresh parsley (Finely chopped, for gremolata)

Tools You'll Need

  • Dutch oven with tight-fitting lid
  • Medium saucepan for risotto
  • Kitchen twine
  • Wooden spoon
  • Ladle
  • Measuring cups and spoons
  • Sharp knife and cutting board

Chef's Tip

Tie kitchen twine around each veal shank before cooking to help them maintain their shape during the long braising process. This ensures even cooking and a more attractive presentation when serving.

Instructions

  1. Preheat oven to 325°F (165°C).
  2. Season veal shanks generously with salt and pepper, then dredge in flour, shaking off excess.
  3. Heat olive oil in a large Dutch oven over medium-high heat. Brown the veal shanks on all sides, about 3-4 minutes per side, then transfer to a plate.
  4. In the same pot, add the diced onion, carrot, and celery. Cook until softened, about 5 minutes.
  5. Add minced garlic and cook for another minute until fragrant.
  6. Pour in white wine, scraping up any browned bits from the bottom of the pot. Bring to a simmer and reduce by half, about 5 minutes.
  7. Add beef broth, crushed tomatoes, bay leaves, and thyme. Return veal shanks to the pot, ensuring they're partially submerged.
  8. Cover tightly and transfer to the oven. Braise for 2 1/2 to 3 hours, until the meat is very tender and nearly falling off the bone.
  9. About 45 minutes before the osso buco is done, begin the risotto by placing saffron threads in 1/4 cup of warm chicken broth to bloom.
  10. In a separate pot, melt 2 tablespoons of butter over medium heat. Add minced shallot and cook until translucent, about 3 minutes.
  11. Add Arborio rice and stir to coat with butter. Cook for 1-2 minutes until edges of rice become translucent.
  12. Add 1/2 cup of hot chicken broth and the saffron-infused broth. Stir constantly until liquid is absorbed.
  13. Continue adding hot broth 1/2 cup at a time, stirring frequently and allowing each addition to be absorbed before adding more, until rice is creamy and al dente, about 20-25 minutes.
  14. Remove from heat and stir in remaining tablespoon of butter and grated Parmesan. Season with salt and pepper to taste.
  15. Make the gremolata by combining lemon zest, minced garlic, and chopped parsley in a small bowl.
  16. When osso buco is done, carefully transfer shanks to a serving platter. Remove bay leaves and thyme stems from the sauce.
  17. If sauce is too thin, simmer uncovered for a few minutes to reduce and thicken.
  18. Spoon sauce over veal shanks and sprinkle with gremolata.

Plating

Place a generous portion of the saffron risotto on one side of a warm dinner plate. Position the veal shank standing on its edge in the middle of the plate. Spoon the braising sauce around and over the meat, being careful not to cover all of the vibrant yellow risotto. Finish by sprinkling the gremolata over the osso buco.

Storage & Reheating

Refrigerate leftovers in an airtight container for up to 3 days. The flavor actually improves after a day as the ingredients meld. Reheat gently in a 325°F oven until warmed through, about 20 minutes. The risotto can be stored separately but may need additional broth or water when reheating to restore its creamy texture.

About This Recipe

Osso Buco alla Milanese was a beloved signature dish at Biba, where it was served in the traditional Milanese style with saffron risotto. This adaptation captures the essence of the original with its long, slow braise that creates fork-tender meat and a deeply flavorful sauce. The bright gremolata adds a fresh counterpoint to the rich, savory flavors of the dish.

How did it turn out?

We'd love to hear about your experience making this recipe!