Osso buco is one of those dishes that sounds intimidating until you actually make it.
The name feels formal, the presentation looks impressive, and the veal shanks definitely give the impression of a restaurant meal.
But honestly, once you understand the recipe, it becomes one of the easiest slow-braised meals to make at home.
I love this dish because it tastes like something I’d order at an Italian restaurant, yet it’s entirely doable for a first-time cook.
What makes osso buco special is the long, slow braise that turns tough veal shanks into something tender and rich.
Everything happens in one pot, usually a dutch oven, and the ingredients work together in the kind of way that makes you feel like you did something complicated even though the recipe itself is straightforward.
This is my favorite Italian dish to make when the weather cools down and I want something hearty but not heavy.

Why Osso Buco Works So Well
The main ingredient is the veal shank. It is a crosscut piece with a section of bone that contains marrow. During the cooking, the marrow melts into the braising liquid, giving the sauce its signature richness.
The name osso buco literally refers to the “bone with a hole,” which describes the center of the shank. When cooked correctly, the meat becomes so tender that it barely holds onto the bone.
The long braise allows the flavors to develop slowly. You start with aromatics, a splash of olive oil, and a quick sear over medium-high heat.
Then you build a base with wine, broth, vegetables, and tomato. It becomes one cohesive sauce that clings to the meat. The final touch is lemon zest, which brightens the dish and keeps it from feeling overly heavy.
Ingredient Breakdown and Why They Matter
Before walking through the steps, here is what each ingredient does for the dish:
Veal shanks: The main ingredient. They have enough connective tissue to become tender after slow cooking, and the marrow enriches the sauce.
Olive oil: Used for browning the shanks and sautéing vegetables. It helps create flavor right from the start.
Carrots, onions, celery: The classic base for Italian dishes. They cook down and form the foundation of the sauce.
Garlic: Adds depth without overwhelming the other ingredients.
White wine: Helps lift the browned bits from the pan and brings acidity to balance the richness.
Beef stock: Adds body to the braise. It blends with the marrow to give the sauce that silky texture.
Tomatoes: They help thicken the sauce and bring mild acidity. Not enough to make it a tomato dish, just enough to round things out.
Lemon zest: Essential for finishing. It adds brightness and makes the whole dish feel balanced.
Herbs: Rosemary or thyme works well. They simmer slowly and give an earthy flavor.

How I Make It
I start by patting the veal shanks dry so they sear properly. Moisture prevents browning, so this step matters more than people realize.
Once they are dry, I season them well. Then I heat olive oil in my dutch oven over medium-high heat.
When the oil is hot, I sear the shanks on all sides until they take on a deep golden color. It takes a few minutes per side, but this is where the flavor begins, so I do not rush it.
Once the shanks are browned, I remove them and set them aside. In the same pot, I add the onions, carrots, celery, and garlic.
They cook down in the remaining oil and meat drippings, which gives the sauce a head start before the liquid even goes in.
When the vegetables soften, I pour in the wine and scrape the bottom of the pot to release the browned bits.
After the wine reduces slightly, I add the tomatoes, herbs, and beef stock. Then I nestle the veal shanks back into the dutch oven so they are sitting comfortably in the braising liquid.
The pot gets covered, and the oven takes over from here. The shanks need a long, slow braise, usually around two hours. The minutes of cooking add up, and the transformation is always worth the wait.
When the meat is tender, I remove the lid and let the sauce thicken slightly. The last step is sprinkling lemon zest over the top.
This adds freshness and cuts through the richness in the best way. I like to serve osso buco in a shallow bowl so the sauce has space to pool around the meat.

Tips and Tricks
- Pat the shanks dry before searing to get proper browning.
- Use a Dutch oven with a heavy lid so the moisture stays inside.
- Do not skip the lemon zest. It truly balances the dish.
- If the sauce reduces too much, add a splash of beef stock to loosen it.
- Serve with risotto, mashed potatoes, or crusty bread to catch the sauce.

Frequently Asked Questions (FAQs)
Q: Can I use beef shanks instead of veal shanks?
A: Yes. Beef shanks work well and are more budget-friendly, though they take slightly longer to become tender.
Q: Can I make osso buco ahead of time?
A: Absolutely. It tastes even better the next day because the flavors deepen.
Q: Do I have to use wine?
A: No. You can replace the wine with extra beef stock, though the acidity from wine helps balance the sauce.
Q: How do I thicken the sauce if it is too thin?
A: Let it simmer uncovered at the end until it reduces.
Q: Is osso buco hard to make for the first time?
A: Not at all. Once you understand the braising process, it becomes one of the easiest dishes to master.
Print
The Best Osso Buco Recipe
5 Stars 4 Stars 3 Stars 2 Stars 1 Star
No reviews
- Author: Christina Orso
Ingredients
4 veal shanks
3 tablespoons olive oil
1 onion, diced
2 carrots, diced
2 celery stalks, diced
3 garlic cloves, minced
1 cup white wine
2 cups beef stock
1 cup crushed tomatoes
1 teaspoon salt
½ teaspoon black pepper
1 teaspoon thyme or rosemary
Zest of 1 lemon
Instructions
- Pat shanks dry and season with salt and pepper.
- Heat olive oil in a dutch oven over medium-high heat. Sear shanks until browned.
- Remove shanks and add onions, carrots, celery, and garlic. Cook until softened.
- Add wine and scrape the pot to deglaze.
- Add tomatoes, herbs, and beef stock. Return shanks to the pot.
- Cover and bake at 325°F for about 2 hours.
- Uncover and simmer to thicken.
- Add lemon zest before serving.

