How to Make the Perfect Osso Buco
Italian · Hard · 140 min · 4 servings

Osso Buco is a hearty Milanese specialty of cross-cut veal shanks braised slowly in white wine, broth, and aromatics until the meat falls from the bone. It is traditionally served with Risotto alla Milanese and topped with bright, herby gremolata that cuts through the richness.
Why this recipe works
This Osso Buco recipe has been crafted to deliver restaurant-quality results in your home kitchen. At just 140 minutes from start to finish, it fits perfectly into a busy schedule without sacrificing flavor. Each serving comes in at 610 calories with 52g of protein, making it a balanced choice for any meal.
What you will need
This recipe uses 6 simple ingredients that you can find at any grocery store:
- 4 pieces cross-cut veal shanks, about 4 cm thick
- 200 ml dry white wine
- 400 ml beef or veal broth
- 1 can whole peeled tomatoes, 400g, crushed by hand
- 2 medium carrots, celery stalks, and onion, diced equal parts
- 1 bunch flat-leaf parsley, lemon zest, and 2 garlic cloves for gremolata
Step by step instructions
Step 1: Sear the Veal Shanks
Tie kitchen twine around the circumference of each shank to keep the meat attached to the bone during cooking. Season generously with salt and pepper and dredge lightly in flour, shaking off any excess. Heat olive oil in a large Dutch oven over medium-high heat and sear each shank for 4 minutes per side until deeply browned. Remove and set aside.
Step 2: Build the Braising Base
Reduce heat to medium and add the diced carrot, celery, and onion to the same pot. Cook for 8 minutes until softened. Pour in the white wine and scrape up all the browned bits from the bottom. Simmer for 3 minutes until the wine reduces by half.
Step 3: Braise Low and Slow
Return the veal shanks to the pot, nestling them snugly in the vegetables. Add the crushed tomatoes and enough broth to come halfway up the shanks. Bring to a gentle simmer, cover, and cook over low heat for 1 hour and 45 minutes until the meat is completely tender and pulling away from the bone.
Step 4: Make Gremolata and Serve
While the shanks rest, finely chop the parsley, mince the garlic, and combine with freshly grated lemon zest. Spoon the braising liquid over each shank and scatter the gremolata generously on top just before serving so it stays bright and fresh.
Easy substitutions
Missing an ingredient? Here are some swaps that work perfectly:
- veal shanks → beef osso buco cuts for a more affordable and equally delicious braise
- dry white wine → dry vermouth for a slightly more aromatic depth of flavor
Common mistakes to avoid
Watch out for these pitfalls that can affect your results:
- Skipping the searing step, which removes the deep savory flavor that comes from the Maillard reaction
- Braising at too high a temperature, which causes the meat to tighten instead of becoming tender
Nutrition facts
Per serving: 610 calories, 52g protein, 14g carbs, 32g fat, 3g fiber.
Ready to cook?
Get the interactive recipe with adjustable servings, built-in timers, and ingredient checklist.
View full recipe →