Step-by-Step Guide to Perfect Veal Osso Buco
Veal Osso Buco, Osso buco, Ossobuco (AW-soh BOO-koh) is one of those classic dishes that feels like a warm hug from the Italian countryside. It’s rich, comforting, and packed with deep flavor—just the kind of meal you want to slow-cook on a weekend when you have time to let the kitchen fill with incredible aromas.
Traditionally made with cross-cut veal shanks, Osso Buco literally means “bone with a hole,” referring to the marrow-filled center that becomes meltingly tender as it cooks. That marrow? Pure gold.
In this recipe, we sear the veal for a deep, savory crust, then simmer it slowly with onions, carrots, celery, tomatoes, white wine, and broth until the meat is fall-off-the-bone tender. The real magic happens during that low and slow braise—everything melds into a velvety sauce that begs to be spooned over creamy risotto or soft polenta.
And don’t forget the gremolata! That bright mix of lemon zest, garlic, and parsley sprinkled on top adds the perfect pop of freshness to balance the richness of the dish.
If you’ve never made Osso Buco before, don’t worry. I’ll walk you through every step. By the end, you’ll feel like a Milanese nonna—wine glass in hand, wooden spoon in the other.
Osso Buco Recipe
Ingredients
- 6 veal shanks 2 inches thick
- 1 teaspoon salt
- ½ teaspoon freshly ground pepper
- ½ cup all-purpose flour
- ¼ cup butter unsalted
- 1 tablespoon olive oil
- 1½ cups yellow onion chopped
- ½ cup carrot chopped
- ½ cup celery sliced
- 2 teaspoon garlic chopped
- 3 anchovy fillets or 3 teaspoons anchovy paste
- 1 cup dry white wine
- 2 cups chicken stock
- 2 cups fresh tomato pulp or diced tomatoes
- Bouquet Garni
Instructions
- Chop the onion, carrot, celery, and garlic. Then, get the tomatoes prepped and put together the Bouquet Garni.
- For the gremoloda, finely chop the parsley and lemon zest and then mince the garlic.
- Tie the shanks with some kitchen string, so they don't fall apart while cooking and then season both sides with salt & pepper.
- Next, prepare your tomato pulp by slicing the tomatoes in half and squeezing the seeds. Using a course grater, remove and reserve the pulp while discarding the skin. ( I used some fresh tomato sauce I recently made from peeled and seeded tomatoes, which worked great.)
- Put the bouquet garni ingredients in a piece of cheesecloth, bundle, and tie with a piece of kitchen string. My wife prepped the vegetables in our food processor, saving time and energy. I made the Gremolata in my food processor as well to save time.
- Start the cooking process by heating the butter and oil over medium heat in a large pan that you can put in the oven. ( I used my Caphalon 10-inch frying pan) While the butter and oil are heating up, dredge the veal shanks in flour and then add to the pan. To get better browning, don't move them around in the pan.
- If your shanks were as large as mine, you might have to cook three at a time. After about 5 minutes, turn and brown the other side. When done browning, remove, set aside on a plate, and brown the remaining shanks. When all the shanks are browned, remove and set aside. Preheat your oven to 325°.
- Turn down the heat on your stove to medium and add the onion, carrot, and celery to the same pan you browned the shanks in. Sauté until the onion caramelizes. (I found I needed to add a touch of olive oil at this point because the pan was dry.) Next, add the garlic and anchovy, and sauté until you smell the garlic cooking.
- Add wine, deglaze the pan, and reduce until the wine is almost all cooked off. Add the chicken stock and tomato pulp. If you have room for all the shanks, add the bouquet garni and veal shanks and bring them to a boil. I didn't have room for all the shanks in my pan, so I brought the ingredients to a boil and then transferred them to a large casserole pan, added the shanks and bouquet garni, and covered it with a tight-fitting lid.
- Transfer your covered pan to the oven and roast. Baste the shanks with the sauce forming in the pan every 30 minutes. After cooking for about an hour, flip each shank over and cook on the other side for another hour. If you notice the sauce in the pan begins to boil, turn down the heat.
- When the shanks are finished braising, remove and place them on a hot serving platter, remove the kitchen string and keep the shanks warm. Next, remove and throw out the bouquet garni. If you have one, the recipe calls for using a food mill to process the sauce in a bowl. I used my hand blender right in the pan, but you can also use a regular blender or a food processor to make the sauce. Taste and adjust the seasoning with salt and pepper.
- On a warm plate, add your side dishes, then a shank and sauce, top with gremolata, and serve. This is a delicious recipe and well worth the effort. Let me know what you think. Enjoy.
Cooking Tips For Perfect Osso Buco
Tip | Description | Why It Matters |
---|---|---|
Choose center-cut veal shanks | Look for 1½–2 inch thick cuts with lots of marrow and evenly sized portions. | Even thickness ensures uniform cooking, and marrow adds flavor and richness to the sauce. |
Pat the meat dry before searing | Use paper towels to remove surface moisture. | Dry meat sears better, creating a deep, flavorful crust through the Maillard reaction. |
Dredge in flour before browning | Lightly coat veal with flour before searing in oil. | Flour helps thicken the braising liquid and gives the meat a better crust. |
Sear over medium-high heat | Get a good golden crust without burning. | Browning develops complex flavors and locks in juices before braising. |
Use aromatic vegetables | Start your braise with onion, carrot, and celery (soffritto). | These classic aromatics build the base of the sauce and add natural sweetness. |
Deglaze the pan with white wine | Scrape up the browned bits (fond) after searing. | Wine lifts the fond and adds acidity to balance the richness of the meat and marrow. |
Use a heavy, oven-safe pot | A Dutch oven or enameled cast iron works best. | Retains heat well and promotes even cooking throughout the long braise. |
Braise low and slow | Simmer gently at low heat for 2–3 hours. | Slow cooking breaks down connective tissue for ultra-tender meat. |
Don’t submerge the meat completely | Keep the tops of the shanks above the liquid line. | Exposed tops brown slightly and develop deeper flavor, while the liquid stays concentrated. |
Add gremolata just before serving | Combine lemon zest, garlic, and parsley, and sprinkle on top. | Gremolata adds brightness and freshness to cut through the richness of the dish. |
Let it rest before serving | Allow Osso Buco to sit covered for 10–15 minutes after cooking. | Resting redistributes juices and allows flavors to meld for a more cohesive, delicious result. |
Side Dishes That Pair Well with Veal Osso Buco
Side Dish | Description | Why It Pairs Well |
---|---|---|
Risoto Milanese | Creamy risotto infused with saffron and Parmesan. | Traditional pairing from Milan; the saffron adds richness and contrasts the veal. |
Creamy Polenta | Smooth, buttery cornmeal cooked slowly. | Absorbs the braising juices and adds comforting texture. |
Mashed Potatoes | Classic creamy mashed potatoes with butter or olive oil. | Mild flavor balances the rich tomato and wine sauce. |
Roasted Root Vegetables | Carrots, parsnips, and turnips roasted with herbs. | Earthy and slightly sweet; complements the savory veal and sauce. |
Sauteed Spinach | Lightly wilted spinach with garlic and olive oil. | Adds brightness and a slightly bitter edge to cut through the richness. |
Crusty Italian Bread | Artisan bread with a chewy crust and soft interior. | Perfect for soaking up every bit of the flavorful sauce. |
Butter-Parmesan Orzo | Tiny pasta tossed with butter and cheese. | A lighter alternative to risotto with similar comforting appeal. |
Green Beans Almondine | Green beans sautéed with butter and sliced almonds. | Offers texture and a fresh, nutty contrast to the slow-cooked main. |
Lemon-Herb Couscous | Fluffy couscous with lemon zest and fresh herbs. | Bright and aromatic, helps lighten the overall meal. |
Arugula Salad | Peppery arugula tossed with lemon vinaigrette and shaved Parmesan. | Fresh and sharp; cleanses the palate and balances the dish. |
What Is Osso Buco?
Veal Osso Buco is a deeply satisfying Italian dish that showcases the art of slow cooking. Its name means “bone with a hole,” referring to the cross-cut veal shanks used in the recipe, which reveal a center of rich, buttery marrow.
When braised slowly in a mix of wine, stock, tomatoes, and aromatics, the meat becomes incredibly tender and flavorful, so much so that it practically slides off the bone. The marrow melts into the sauce, enriching every bite with a luxurious texture and depth.
This dish originates from Milan, where it was developed in the 19th century as a humble, rustic meal designed to make the most of economical cuts of meat.
Over time, Osso Buco became a beloved part of Lombardy’s culinary tradition, especially when served with its traditional accompaniment: Risotto alla Milanese, a saffron-infused rice dish that soaks up the savory juices like a sponge. While modern versions sometimes use beef or pork, true Milanese Osso Buco is made with veal and topped with gremolata—a zesty blend of lemon zest, garlic, and parsley that cuts through the richness beautifully.
If you’re new to Osso Buco, don’t be intimidated. This recipe brings the charm of northern Italy into your kitchen, one tender, saucy, soul-warming bite at a time.
How Osso Buco Is Made
Start by seasoning the veal shanks with salt and pepper, then dredge them lightly in flour. In a large pot or Dutch oven, brown the shanks on all sides over medium-high heat to develop a rich, golden crust. Remove the meat and set it aside. In the same pot, sauté diced carrots, onions, and celery until they soften and release their aroma.
Next, pour in white wine to deglaze the pot, scraping up any browned bits from the bottom. Add beef or chicken broth, then return the veal shanks to the pot. Bring the liquid to a gentle boil.
Cover the pot and transfer it to the oven. Let the osso buco braise for several hours, turning the shanks occasionally to ensure even cooking. The dish is ready when the meat becomes tender and nearly falls off the bone.
Serve the osso buco hot, traditionally over a bed of risotto alla Milanese—a creamy saffron and Parmesan rice dish. For a burst of brightness, top it with gremolata, a zesty blend of parsley, lemon zest, and garlic. This final touch lifts the rich flavors and brings balance to the dish.
Bouquet Garni
This recipe calls for bouquet garni that can be described as herbs wrapped in something and added to a braise for flavoring. A classic French bouquet garni would be wrapped in leek leaves, but I typically use cheesecloth.
Although no traditional herbs are used for bouquet garni, I like fresh parsley, thyme, and a bay leaf or two. But depending on the recipe, I might add peppercorns, rosemary, tarragon, and/or fresh basil.