Osso buco alla milanese
Non-vegetarian
Ossobuco alla milanese
Cross-cut veal shanks braised slowly with white wine and broth until the meat falls from the bone, finished with a fresh gremolata of lemon zest, garlic and parsley.
Osso buco alla milanese is an Italian stew from Italy, ready in about 2 hours 20 minutes and made with veal shank (cross-cut), dry white wine and lemon zest. It serves 4 and is rated intermediate to cook.

- Prep
- 20 min
- Cook
- 2 h
- Total
- 2 h 20 min
- Serves
- 4
- Level
- Intermediate
- Calories
- 476
Method
Step 1
Snip the membrane around each shank in two or three places so they stay flat. Season with salt and pepper (opens in a new tab) and dust with flour.
- 5 min
Step 2
Brown the shanks well on both sides in the oil and half the butter (opens in a new tab) in a wide casserole. Set aside.
- 10 min
- medium-high heat
- Dutch oven / casserole pot (opens in a new tab)
Step 3
Add the remaining butter (opens in a new tab), the onion (opens in a new tab), carrot (opens in a new tab) and celery (opens in a new tab) and cook gently until soft. Return the shanks in one layer, pour in the wine and let it reduce by half.
- 12 min
- medium heat

How it looks · Photo: Magda Ehlers on Pexels Step 4
Add the stock and bay leaf (opens in a new tab), cover and braise very gently, basting now and then and adding stock if needed, until the meat is very tender.
- 90 min
- low heat
Step 5
Mix the lemon zest (opens in a new tab), garlic (opens in a new tab) and parsley (opens in a new tab) to make the gremolata. Scatter over the shanks just before serving.
- 3 min

How it looks · Photo: Klaus Nielsen on Pexels
About this dish
- Origin
- Milan (Lombardy), Italy · Well documentedMore food from Italy
- Dish
- Dinner · Lunch · Stews & braises · Main courses
- Cooking method
- Braised
- Taste
- rich, savoury, citrusy
- Diet
- No nut ingredients · Low-carb · High-proteinWorked out from the ingredients. How labels work
All labels
Non-vegetarian · Egg-free · No nut ingredients · No added sugar · Pork-free · Low-carb · High-protein · Calorie-conscious - Good for
- Festive & celebration · Make-ahead
- Cook more with
- Dry white wine · Lemon zest · All-purpose flour · Butter · Onion · Carrot
Allergens
- Contains: Milkfrom butter
- Contains: Wheatfrom all-purpose flour
- Contains: Glutenfrom all-purpose flour
- Contains: Celeryfrom celery, beef stock
- Contains: Sulphitesfrom dry white wine
Based on typical versions of these ingredients and not verified allergen-free. Brands differ and cross-contact happens, so always check labels. For severe allergies, follow your clinician’s advice.
Nutrition
476 kcal per serving
Calculated1 serving ≈ 460 g · recipe makes 4
Where the energy comes from
- Protein 42%
- Carbohydrate 12%
- Fat 46%
| Nutrient | Per serving | Per 100 g* |
|---|---|---|
| Energy | 476 kcal | 104 kcal |
| Protein | 47 g | 10.2 g |
| Carbohydrate | 13.7 g | 3 g |
| Net carbohydrate | 12 g | 2.6 g |
| Sugars | 3.2 g | 0.7 g |
| Added sugars | 0 g | 0 g |
| Fibre | 1.8 g | 0.4 g |
| Fat | 22.6 g | 4.9 g |
| Saturated fat | 8.8 g | 1.9 g |
| Trans fat | — | — |
| Cholesterol | 163 mg | 36 mg |
| Sodium | 1110 mg | 241 mg |
| Salt equivalent | 2.8 g | 0.6 g |
Vitamins & minerals per serving
- Potassium
- 738 mg
- Calcium
- 70 mg
- Iron
- 3.8 mg
- Magnesium
- 94 mg
- Vitamin A (RAE)
- 208 µg
- Vitamin C
- 11 mg
- Vitamin D
- 1.8 µg
- Vitamin B12
- 4.3 µg
- Folate (DFE)
- 48 µg
How these numbers were made
- Calculated from USDA FoodData Central (SR Legacy) per-100 g values and the listed quantities.
- *Per 100 g of combined raw ingredients; the cooked dish may weigh more or less.
- “—” means the value isn’t known for enough of the ingredients; it is never zero by default.
- Values are estimates for guidance, not for medical dosing. U.S. Department of Agriculture, Agricultural Research Service. FoodData Central, 2019. fdc.nal.usda.gov.
Good to know
Tips
- Scoop out the marrow from the bone with a small spoon – it is the prized part.
Serve with
- Classically served with risotto alla milanese; polenta or mashed potato also work.
Food safety
- Braise until the meat is falling from the bone; cool leftovers within 2 hours and refrigerate.
Storage
- Keeps 3 days refrigerated.
Reheating
- Reheat gently in the sauce until piping hot; make the gremolata fresh.
Variations
- Ossobuco al pomodoro: A later, widely cooked version adds tomatoes to the braise.
Original editorial recipe · FriendsPantry editorial · Not yet independently reviewed · Added · Updated
Sauces, chutneys & dips for this dish
Recipe DNA
How this dish is built
Built from the recipe’s own sections. Each band’s width is its share of the dish by weight. Choose a component to see what it does.
What the dish is built around
Main ingredient
- Veal shank (cross-cut), about 4 cm thick, about 300 g each4 piece · 900 g
- All-purpose flour30 g
- Butter40 g
- Carrot, finely chopped1 piece · 60 g
Reviews & corrections
Reviews come from signed-in cooks and appear after a moderator checks them. We never show made-up ratings.
You might also like
Ragù alla bolognese with tagliatelle
Italian · 3 h · 630 kcal
Lasagne alla bolognese
Italian · 3 h · 547 kcal
Boeuf bourguignon
French · 4 h · 625 kcal
Pasta alla genovese (Neapolitan onion and beef ragù)
Italian · 3 h 55 min · 613 kcal