This osso buco recipe comes from Milan, the capital of Lombardy in northern Italy. It turns a cheap, tough cut of veal into a dish that falls off the bone. You braise thick veal shanks slowly in white wine and stock. The meat turns soft and the marrow melts into the sauce. Then you scatter a bright, lemony gremolata over the top. The dish takes about two and a half hours, but only 30 minutes need your attention.

What Is Osso Buco?
Osso buco means “bone with a hole” in Italian. The hole is the marrow in the middle of each slice. The butcher cuts a veal shank across the bone into thick rounds, each about 4 cm (1.5 inches) deep.
The shank is a hard-working muscle. It is full of connective tissue, so quick cooking makes it chewy. Slow cooking does the opposite. It turns that tissue into a rich, silky sauce and leaves the meat tender.
Milan made the dish famous. The classic Milanese version uses white wine, stock, and a base of onion, carrot and celery. Cooks still argue about tomato. Some leave it out for a pale, delicate sauce. Others add a spoonful for colour. Both styles are worth trying. If you are planning a trip, our Milan travel guide shows you where the dish comes from.
Milan traditionally serves osso buco with saffron risotto. If you want a side that is easy to make, try our northern Italian risotto recipe. Creamy polenta also works well, as the photo above shows.
Ingredients for This Osso Buco Recipe (Serves 4)
- 4 veal shanks, cut across the bone, each about 4 cm (1.5 in) thick
- 3 tbsp plain flour, for dusting
- 2 tbsp olive oil
- 2 tbsp butter (about 30 g)
- 1 onion, finely chopped
- 1 carrot, finely chopped
- 1 celery stick, finely chopped
- 2 garlic cloves, finely chopped
- 150 ml (a little over ⅓ cup) dry white wine
- 400 ml (about 1¾ cups) veal or beef stock
- 1 bay leaf
- 1 sprig of fresh thyme (optional)
- Salt and black pepper
For the gremolata
- A small handful of flat-leaf parsley, finely chopped
- The zest of 1 unwaxed lemon
- 1 small garlic clove, grated
Love Italy? Free Italy stories every weekday morning.
Subscribe Free →How to Make This Osso Buco Recipe
Step 1: Prepare the veal
Pat the shanks dry with kitchen paper. Tie a piece of kitchen string around the edge of each one. This keeps the meat neat and stops it falling apart. Season well with salt and pepper, then dust each shank with flour and shake off the extra. Heat the oven to 160°C (320°F, gas mark 3).
Step 2: Brown the meat
Heat the oil and butter in a wide, heavy casserole dish with a lid. Brown the shanks in batches. Give each side three to four minutes, until deep golden. Do not rush this step. The browned crust gives the sauce its flavour. Move the shanks to a plate.
Step 3: Build the sauce
Lower the heat. Add the onion, carrot and celery with a pinch of salt. Cook them for eight to ten minutes until soft but not brown. Add the garlic and cook for one more minute. Pour in the wine and scrape up the golden bits from the base of the pan. Let it bubble until it has reduced by half, which takes about five minutes.
Step 4: Braise in the oven
Stand the shanks upright in the pan so the marrow stays in the bone. Pour in the stock until it comes about two-thirds of the way up the meat. Add the bay leaf and thyme. Bring the pan to a gentle simmer, cover it, and slide it into the oven.
Cook for one hour and 45 minutes to two hours. Spoon the sauce over the meat every 30 minutes. The dish is ready when a knife slides in with no resistance and the meat starts to pull away from the bone.
Step 5: Finish the sauce
Lift the shanks out with a slotted spoon. Take care, because they are very tender. Cover them with foil. Set the casserole dish on the hob and boil the sauce for five to ten minutes. It should turn glossy and coat the back of a spoon. Taste it and add salt if it needs it. Remove the bay leaf and the string.
Step 6: Make the gremolata and serve
Mix the parsley, lemon zest and garlic in a small bowl. Spoon the sauce over each shank and top it with the gremolata. The gremolata adds a fresh, sharp bite that cuts through the rich meat. Add it at the end, because heat dulls the parsley. Scoop the marrow from the bone with a small spoon. Many diners treat it as the best bite on the plate.
Tips for the Best Osso Buco
- Choose thick, even slices. Ask your butcher for shanks of the same thickness so they cook at the same speed.
- Brown properly. Pale meat makes a flat sauce.
- Keep the heat low. The sauce should barely bubble in the oven. Hard boiling dries the meat.
- Use a wide pan. The shanks should sit in one layer, upright and close together.
- Cook it a day ahead. Like most braises, osso buco tastes even better the next day. Make the gremolata fresh when you serve.
Variations on the Classic
With tomato. Add two tablespoons of tomato purée, or a few chopped tomatoes, after the wine. The sauce turns deeper red and a little sweeter.
In bianco. Leave the tomato out for the pale, traditional style. The wine, stock and vegetables carry the flavour.
With beef. Beef shanks cost less and have a stronger taste. Cook them for about 30 minutes longer.
Gluten free. Skip the flour. The sauce will be a little thinner, so boil it for a few extra minutes.
What to Serve With Osso Buco
Saffron risotto is the classic partner. Creamy polenta, mashed potato or buttered tagliatelle all soak up the sauce well. Add a simple green salad or steamed greens to balance the plate. For a wider look at northern Italian cooking, see our Bolognese lasagne recipe.
Pour a medium-bodied red such as Barbera, or a full-flavoured dry white. Both stand up to the rich sauce.
How to Store and Reheat Osso Buco
Let the dish cool, then keep the shanks in their sauce in a covered container in the fridge for up to three days. You can also freeze it for up to three months. Thaw it overnight in the fridge. Reheat it gently on the hob or in a low oven until it is hot all the way through. Add a splash of stock if the sauce looks thick.
Osso Buco Recipe FAQ
What does osso buco mean?
Osso buco means “bone with a hole” in Italian. It describes the marrow bone at the centre of each slice of veal shank.
What cut of meat do you use for an osso buco recipe?
Use veal shank, cut across the bone into slices about 4 cm thick. Beef shank also works if you cannot find veal.
Where does osso buco come from?
Osso buco comes from Milan in Lombardy, northern Italy. It is one of the best-known dishes of Milanese cooking.
What do you serve with osso buco?
Milan traditionally serves it with saffron risotto. Creamy polenta and mashed potato are also good choices.
Can you make osso buco ahead of time?
Yes. Cook it up to three days ahead and store it in its sauce in the fridge. Reheat it gently and make the gremolata fresh just before serving.
You Might Also Enjoy
- Authentic Italian Risotto: The Northern Italian Way
- Authentic Italian Lasagne: The Real Bolognese Way
- What to Eat in Tuscany: A Food Guide
Plan Your Italy Trip
Ready to taste Italian food where it began? Start with our ultimate Italy travel guide and plan your trip region by region. You can also read the planning hub for your trip to Italy.
Join 28,000+ Italy Lovers
Every weekday morning, get Italy’s lesser-known corners, local stories and secrets, straight to your inbox.
Subscribe free — enter your email:
Free forever · Weekday mornings · Unsubscribe anytime
Secure Your Dream Italian Experience Before It’s Gone!
Planning a trip to Italy? Don’t let sold-out tours or overcrowded attractions spoil your adventure. Unmissable experiences like exploring the Colosseum, gliding through Venice on a gondola, or marvelling at the Sistine Chapel often book up fast—especially during peak travel seasons.

Booking in advance guarantees your place and ensures you can fully immerse yourself in the rich culture and breathtaking scenery without stress or disappointment. You’ll also free up time to explore Italy's hidden gems and savour those authentic moments that make your trip truly special.
Make the most of your journey—start planning today and secure those must-do experiences before they’re gone!
