Shanks braised in white wine and tomato, without flour, finished with a lemony gremolata.
The shanks sizzle in butter and olive oil until their edges turn golden, then simmer for hours in a white wine and tomato sauce. Osso buco consists of cross-cut veal or beef shanks with the bone and marrow in the center, slowly braised and finished with gremolata. Allow about 15 minutes of hands-on time; gentle simmering takes care of the rest. This recipe joins my collection of keto main dishes.
What is osso buco?
Osso buco is recognizable by its cut: cross-cut shanks with the bone and marrow in the center. Its name refers to that round bone and the marrow cavity clearly visible in the middle of the meat. This version sears the shanks without flour to keep carbohydrates down and achieve good browning.
The tomato paste is first cooked in the fat to mellow its acidity, before deglazing with dry white wine. Beef broth or bone broth is then added, just enough to submerge the meat, along with thyme, rosemary and bay leaf. Since the shanks are not coated in flour, the sauce is not thickened with starch: its texture comes from reduction, tomato paste and collagen.

Origins of this version
The reference point is Milanese-style braised veal shank, finished with gremolata. In this tradition, the tomato-based version sits alongside an in bianco preparation, made without tomato.
Veal remains the original choice of meat, but beef shank works well with a little patience. Veal becomes meltingly tender in 2 to 3 hours; beef needs at least 6 hours here, or even an overnight braise, at a gentle simmer without ever boiling.
The classic accompaniment is saffron risotto alla milanese. Mashed cauliflower or cauliflower rice keeps the meal lower in carbohydrates.
The main ingredients
The shanks are the centerpiece; thoroughly dried meat browns better in hot fat, especially without flour. The 200 ml of dry white wine deglazes the Dutch oven, loosens the browned bits and provides acidity to balance the richness of the marrow. The 200 ml of beef broth or bone broth is added in just enough quantity to submerge the meat; reconstituted bone broth powder works, provided you check the dilution, salt content and absence of added sugars or starches.

The aromatic base starts with a thinly sliced red onion, sautรฉed until translucent, followed by four pressed garlic cloves cooked briefly. The 150 g of carrot adds sweetness and texture, while two celery stalks provide a fresh, vegetal note that lightens the dish. With beef, cut the vegetables fairly large; with veal, the carrot and onion can be finely diced into a brunoise.
Tomato paste provides color and a pronounced umami flavor. Rosemary, thyme and bay leaf infuse the dish throughout simmering and are removed before serving. The gremolata adds the final fresh note: the zest of one lemon, a raw garlic clove and a handful of flat-leaf or curly parsley.
Technique tips and serving
Overcrowding the Dutch oven limits browning, and excessive heat makes garlic, paprika or butter bitter. The order matters: first the onion, then the garlic for a brief moment, followed by the well-browned shanks, before the tomato paste, wine, broth and herbs come together to form the braising liquid. With the lid on, the liquid should simmer without boiling; if the meat is still not fork-tender, continue cooking gently, keeping an eye on the liquid level.

Each serving provides 301 kcal and 14 g of net carbs, making this a moderately reduced-carb dish rather than a strictly ketogenic one. Serve the shanks bone-in, with the vegetables and sauce, keeping the gremolata separate until the last moment. Leftovers keep for up to 3 days in the refrigerator, cooled quickly and covered with sauce, then reheated gently with a splash of water or broth.
For everyday keto cooking, explore all my low-carb recipes.

Osso buco
Ingredients
Osso buco
- 2 shanks
- 200 ml white wine dry, preferably low in carbohydrates
- 200 ml beef broth (bone), or powdered bone broth mixed with water
- 1 red onion
- 4 cloves garlic
- 150 g carrot
- 2 stalks celery
- 1 small can tomato paste
- 1 sprig rosemary (fresh)
- 1 sprig thyme (fresh)
- 3 bay leaves
- butter and mild olive oil for cooking
Gremolata
- 1 lemon zest
- 1 clove garlic
- 1 generous handful parsley (fresh) flat-leaf and/or curly
Instructions
- Take the osso buco out of the freezer a day ahead and let it thaw in the refrigerator. Then take it out of the refrigerator just under an hour before you start and let it come to room temperature.2 shanks
- Finely slice an onion. Meanwhile, heat the Dutch oven. Add oil and butter. Sautรฉ the onion.1 red onion, butter and mild olive oil
- Crush the garlic cloves with a garlic press and add them to the onion once it starts to turn slightly translucent. Sautรฉ everything briefly.4 cloves garlic
- Depending on the space in the Dutch oven, push the onions to the side or briefly remove them. Make sure to leave a good amount of the onion-flavored fat in the pot. Add a little more butter if needed.
- Season the shanks to taste with paprika and black pepper. Sear the shanks well on both sides. This is where my method differs from the authentic Milanese preparation. For that, you would lightly coat both sides of the shanks in flour before searing them.
- Return the onions to the Dutch oven. Briefly sautรฉ the tomato paste. Deglaze with the wine. Reduce the heat.1 small can tomato paste, 200 ml white wine
- Cut the carrot and celery into large pieces. Arrange them around the meat. Pour in enough broth to just cover the meat.150 g carrot, 2 stalks celery, 200 ml beef broth
- Add the thyme, rosemary and bay leaves. Put the lid on the Dutch oven. Keep the heat low. Do not let the sauce boil. An occasional small bubble is fine.1 sprig thyme (fresh), 1 sprig rosemary (fresh), 3 bay leaves
- For veal shank, allow about 2 to 3 hours, although you can of course always cook it longer. For beef shank, simmer for at least 6 hours. Overnight is fine too.
Gremolata
- Scrub the lemon and grate its zest. Peel the garlic and grate it or cut it into very thin slices. Finely chop the parsley. Mix everything together.1 lemon zest, 1 clove garlic, 1 generous handful parsley (fresh)
- Serve in a small bowl at the table.