Authentic Italian Osso Buco alla Milanese with Gremolata
Master the art of Italian osso buco. This recipe features tender braised veal shanks in a rich white wine sauce, topped with fresh gremolata and served with saffron risotto.
Italian osso buco is the ultimate expression of Lombardy’s culinary soul, a dish where patience transforms humble veal shanks into something truly majestic. The name literally translates to 'bone with a hole,' referencing the marrow-filled center that melts into the braising liquid, creating a sauce of unparalleled velvetiness.
This classic braised veal shanks Milanese preparation eschews tomatoes in favor of a bright, sophisticated profile built on white wine, high-quality veal stock, and a vibrant finishing touch of gremolata. While many modern versions take shortcuts, we stick to the traditional method of deep browning and slow simmering to ensure the meat is fork-tender while remaining intact on the bone.
Whether you are hosting a formal dinner or seeking a project-style Sunday meal, this osso buco recipe delivers a restaurant-quality experience. The interplay between the rich, fatty marrow and the sharp, citrusy garlic-parsley topping is what makes this dish a timeless masterpiece of Italian home cooking.
Ingredients
The Veal
- 4 center-cut veal shanks (about 3 inches thick, 1.5 lbs / 700g total)
- Salt and freshly ground black pepper
- 1/2 cup (65g) all-purpose flour, for dredging
- 3 tablespoons unsalted butter
- 2 tablespoons extra-virgin olive oil
The Braise
- 1 large yellow onion, finely diced
- 1 large carrot, finely diced
- 1 celery stalk, finely diced
- 2 cloves garlic, minced
- 1 cup (240ml) dry white wine (Pinot Grigio or Gavi)
- 2 cups (480ml) high-quality veal or beef stock
- 2 sprigs fresh thyme
- 1 bay leaf
- 2 strips lemon peel (yellow part only)
Gremolata Finishing
- 1/4 cup fresh flat-leaf parsley, finely chopped
- 1 tablespoon lemon zest, freshly grated
- 1 small clove garlic, grated to a paste
Instructions
- 1
Tie each veal shank snugly with kitchen twine around its circumference to prevent the meat from falling off the bone during the long braise.
- 2
Season the shanks generously with salt and pepper, then dredge in flour, tapping off any excess thoroughly.
- 3
Heat the butter and olive oil in a large Dutch oven over medium-high heat until the butter foam subsides.
- 4
Brown the shanks deeply on both sides, about 5-7 minutes per side, until a dark golden crust forms; remove and set aside on a plate.
- 5
Lower the heat to medium and add the onion, carrot, and celery to the fat remaining in the pot, sautéing until softened and translucent, about 8 minutes.
- 6
Stir in the minced garlic and cook for 1 minute until fragrant, then pour in the white wine, scraping the bottom of the pot to release all the browned bits (fond).
- 7
Return the shanks to the pot along with any accumulated juices, then pour in the stock until it reaches about two-thirds of the way up the sides of the meat.
- 8
Add the thyme, bay leaf, and lemon strips; bring to a bare simmer, then cover tightly with a lid.
- 9
Transfer to a 325°F (160°C) oven and braise for 2 to 2.5 hours, or until the meat is tender enough to be cut with a spoon but not completely disintegrated.
- 10
Carefully remove the shanks to a warm platter and discard the twine; simmer the sauce on the stovetop for 5 minutes if it needs thickening.
- 11
Mix the parsley, lemon zest, and grated garlic in a small bowl to create the fresh gremolata.
- 12
Spoon the glossy sauce over the shanks and sprinkle liberally with the gremolata just before serving over saffron risotto.
Nutrition (per serving)
Estimates only — not medical or dietary advice.
- Calories
- 485 kcal
- Protein
- 34 g
- Carbs
- 16 g
- Fat
- 27 g
- Fiber
- 2 g
- Sugar
- 4 g
- Sodium
- 580 mg
Tips
- → Do not skip the twine; veal shanks are highly connective and will separate from the bone as they tenderize, losing the iconic presentation.
- → The marrow is the prize of this dish. Provide small spoons or knives so guests can scoop the softened marrow out of the center of the bone to spread on bread or mix into their risotto.
- → If the sauce looks too thin after braising, remove the meat and whisk in a small knob of cold butter (monter au beurre) over medium heat for a professional sheen.
FAQ
Can I make Italian osso buco with beef instead of veal?
Yes, you can use beef shanks, often called 'beef osso buco.' However, beef shanks are tougher and larger, so you will need to increase the braising time by at least 60-90 minutes.
Why does my osso buco meat feel tough after 2 hours?
It is likely undercooked. Veal shanks contain heavy connective tissue that requires a specific temperature threshold to melt into collagen. If it's tough, put the lid back on and continue braising for another 30 minutes.
How do I store and reheat leftovers?
Osso buco actually tastes better the next day. Store in an airtight container for up to 3 days. Reheat gently in a covered pan over low heat with a splash of stock to maintain the moisture.
You might also like
DinnerEasy Chicken and Broccoli Alfredo Bake with Garlic
This comforting chicken and broccoli alfredo bake features seared chicken, crisp-tender broccoli, and a from-scratch garlic cream sauce topped with bubbly mozzarella.
DinnerCreamy Tuscan Chicken Pasta Bake with Sun-Dried Tomatoes
This creamy tuscan chicken pasta bake features rotisserie chicken, sun-dried tomatoes, and spinach in a rich garlic sauce topped with bubbly mozzarella and panko.
DinnerChef-levelTraditional Duck Confit Recipe with Pommes Sarladaises
Master the ultimate duck confit recipe. Learn how to dry-cure duck legs overnight and slow-poach them in rendered fat for the most tender, classic French result.
DinnerAdvancedSlow-Braised Beef Short Rib Ragu for Pappardelle
This rich, silky beef short rib ragu is braised for four hours in red wine and milk until the meat falls off the bone. The ultimate braised short rib pasta sauce.
