Side Dishes
Ukrainian cabbage rolls—known as holubtsi—bring hearty, comforting flavors to your table with tender cabbage leaves wrapped around savory pork and rice. This traditional recipe delivers restaurant-quality results with a technique that transforms simple ingredients into a dish rich in history and taste.
The secret lies in properly preparing the cabbage leaves and balancing the filling for maximum flavor.
What sets this recipe apart is its authentic approach, where each component plays a crucial role. The cabbage leaves soften just enough to hold the filling while staying sturdy, and the pork-rice mixture absorbs the flavors of garlic, onions, and spices perfectly.
Whether you're preparing for a family gathering or a cozy weeknight dinner, this dish delivers deep, satisfying flavors that feel like a hug in every bite.
Traditionally served with tomato sauce or a dollop of sour cream, these cabbage rolls are as versatile as they are delicious. The cooking method—simmered in broth until tender—ensures the filling stays moist while the cabbage absorbs the surrounding flavors.
This recipe stays true to its roots while offering flexibility for modern twists, like adding mushrooms or tofu for a vegetarian option.
Ready in about 1 hour 30 minutes, this dish is perfect for meal prep or serving fresh. The aroma alone will draw everyone to the table, and the first bite will have them asking for seconds. Let's get started on creating this timeless Ukrainian classic.
Ingredients for ukrainian cabbage rolls
Authentic Ukrainian flavors begin with these carefully selected, traditional ingredients.
| Ingredient | Amount | Notes |
|---|---|---|
| Fresh Cabbage 🥬 | 1 whole | Green or savoy, large head |
| Pork Shoulder 🥩 | 1 ½ lb | Boneless, lean cut preferred |
| White Rice 🍚 | 1 ½ cups | Uncooked, long-grain preferred |
| Onions 🧅 | 2 medium | Yellow or red, finely chopped |
| Garlic Cloves 🧄 | 6 cloves | Fresh, minced for filling |
| Carrots 🥕 | 2 medium | Peeled, finely grated or diced |
| Tomato Paste 🍅 | ½ cup | High-quality, no sugar added |
| Beef Broth 💧 | 4 cups | Low-sodium, homemade preferred |
| Fresh Dill 🌿 | ¼ cup | Chopped, stems removed |
| Bay Leaves 🌿 | 2 whole | Dried, for broth infusion |
| Black Peppercorns 🌶️ | 1 tsp | Freshly cracked, coarse grind |
| Salt 🧂 | 2 tsp | Diamond Crystal kosher preferred |
| Olive Oil 🫒 | ¼ cup | Extra-virgin, for cabbage prep |
| Sour Cream 🥛 | ½ cup | Full-fat, for serving |
| Fresh Parsley 🌿 | 0.2 cup | Chopped, for garnish |
The cabbage is the foundation of this dish, so select a head with tightly packed, vibrant green leaves—avoid any with yellowing or wilted spots. For optimal texture, blanch the leaves in boiling water for 3-4 minutes before stuffing. Whole Foods Market or local farmers markets often carry the freshest cabbage, but the standard grocery store variety works perfectly if stored properly. The pork shoulder should have good marbling—Costco or local butchers typically carry high-quality cuts ideal for this recipe. Pre-grating the carrots and chopping the onions ahead saves time during assembly, and Trader Joe's sells pre-grated carrots that work beautifully here.
No pork? Substitute ground turkey or mushrooms for a vegetarian option, though the texture will differ slightly. Fresh dill is essential for authentic flavor, but dried dill at one-third the amount works in a pinch. The tomato paste can be reduced with a splash of water if it feels too thick—Muir Glen or Rao's brands offer excellent quality without added sugar. For the broth, homemade is ideal, but low-sodium store-bought works if you add an extra bay leaf. The rice should be cooked al dente—jasmine or basmati varieties hold up best to the long simmering time. If you're short on time, use pre-cooked rice, but it may absorb more liquid during cooking.
Fresh cabbage leaves should be blanched and stored in an airtight container with a damp paper towel to maintain pliability for up to 3 days. The stuffed rolls can be assembled a day ahead and refrigerated, then simmered directly from cold. For longer storage, freeze the assembled rolls in a single layer before transferring to a sealed bag—they keep for 3 months. The finished dish reheats beautifully and tastes even better the next day as the flavors meld. Serve with a dollop of full-fat sour cream and a sprinkle of fresh parsley for a restaurant-worthy presentation.
Why You'll Love This Recipe
- Same filling, endless uses: serve with a tangy tomato sauce for dinner, stuff into a casserole for leftovers, or pack them in foil for a picnic. My daughter’s school bake sale even loved the mini versions—no one guessed they were "just" cabbage rolls.
- No Fuss Assembly: The cabbage leaves stay pliable when blanched—no wrestling with brittle greens. Just spread the pork-rice mix, roll, and nestle them in a pot. Honestly, it’s the kind of recipe where you can sip your coffee while you work.
- Porky Perfection: That slow-cooked pork shoulder turns tender enough to melt, while the garlic and onions caramelize into a sticky, savory glue holding everything together. Between us, the first bite makes you forget you’re eating a "healthy" dish.
- Weeknight to Potluck: Same filling, endless uses: serve with a tangy tomato sauce for dinner, stuff into a casserole for leftovers, or pack them in foil for a picnic. My daughter’s school bake sale even loved the mini versions—no one guessed they were "just" cabbage rolls.
Step-by-step instructions for Ukrainian cabbage rolls
Here's the method to create tender cabbage leaves filled with savory pork and rice, simmered to perfection.
Prepare the Cabbage Leaves
Begin by blanching the whole fresh cabbage to soften the leaves. Place the cabbage in a large pot and cover with cold water. Bring to a boil over high heat, then immediately reduce to medium-high and simmer for exactly 5 minutes. You'll see the leaves begin to loosen and separate slightly from the core.
Drain the cabbage and transfer it to a clean cutting board. Remove the hard core and carefully separate the leaves, working from the outer edges inward. You should have about 12-15 large leaves depending on the cabbage size. Keep the pot of boiling water nearby—you'll use it again in a moment. If any leaves remain stubbornly tight, simply return them to the pot with fresh boiling water for 30 seconds to relax them further. This blanching step is crucial for pliable leaves that won't tear when stuffed.
Cook the Rice and Prepare the Filling
Rinse the 1.5 cups white rice thoroughly under cold water until the water runs clear. In a separate medium saucepan, bring 2 cups of the beef broth to a boil, then add the rice and reduce heat to low. Cover and simmer for 12-15 minutes until the rice is tender but still slightly firm—it will finish cooking during the baking process. Drain any excess liquid and set aside.
While the rice cooks, prepare the remaining filling components. In a large skillet, heat 0.25 cup olive oil over medium heat. Add the 2 medium onions and cook for 5-6 minutes until golden and translucent. Add the 2 medium carrots and cook for another 3 minutes until softened. Stir in the 6 cloves garlic cloves and cook for 30 seconds until fragrant.
Combine Filling Ingredients
Transfer the cooked onion-carrot mixture to a large mixing bowl. Add the cooked rice, 1.5 lb pork shoulder cut into ½-inch cubes, 0.5 cup tomato paste, 0.25 cup fresh dill, 2 whole bay leaves crumbled, 1 tsp black peppercorns freshly cracked, and 2 tsp salt. Mix thoroughly with your hands or a spoon until all ingredients are evenly distributed. The filling should be moist but not soupy—if it appears dry, add 1-2 tablespoons of the remaining beef broth.
Here's the thing—don't overmix the filling. You want to preserve some texture in the pork and rice while ensuring the flavors meld together. The mixture should hold together when packed into the cabbage leaves but still allow for even cooking. Taste the filling at this stage and adjust seasoning if needed—Ukrainian cabbage rolls rely on balanced flavors to shine.
Assemble and Roll the Cabbage Rolls
Lay out a cabbage leaf on a clean work surface with the stem end facing you. Place about 1/3 cup of filling near the stem end, then carefully fold the sides inward and roll tightly from the stem end to the tip, creating a neat cylinder. The leaf should wrap completely around the filling without tearing. If a leaf feels too small to hold the filling, use two leaves for that roll.
As you work, keep the remaining cabbage leaves covered with a damp towel to prevent drying. This assembly process requires patience—don't rush the rolling. The goal is to create compact rolls that will hold their shape during baking. Place each completed roll seam-side down in a large baking dish. You should have about 6-8 rolls depending on the size of your cabbage leaves.
Simmer the Cabbage Rolls
Pour the remaining 2 cups beef broth into the baking dish, covering the rolls completely. The liquid level should come about halfway up the sides of the rolls. Cover the dish tightly with aluminum foil and transfer to a preheated 350°F oven. Bake for 1 hour, then carefully remove the foil and bake uncovered for another 30-45 minutes until the liquid has reduced and the rolls are tender.
You'll know they're done when the cabbage leaves are soft and the filling is heated through. The rolls should be golden on top and the liquid reduced to a light sauce. Let the cabbage rolls rest for 10 minutes before serving. Ladle any remaining sauce from the baking dish over the rolls and garnish with 0.2 cup fresh parsley and a dollop of 0.5 cup sour cream on each serving. The combination of tender cabbage, flavorful filling, and creamy sauce creates a truly satisfying dish.
Pro Tips For Making Ukrainian Cabbage Rolls
- Boil Cabbage Whole: I learned this the hard way—cutting cabbage before boiling makes it tough. Drop whole heads in salted boiling water for 5 minutes, then remove leaves one by one. They’ll stay pliable and hold filling better, even after rolling.
- Sear Pork First: Brown the pork shoulder in batches before cooking the filling. The crust locks in flavor and prevents the rolls from turning mushy later. Skip this, and you’ll regret the bland, watery filling.
- Parboil Rice Properly: Rinse the rice until the water runs clear, then cook it al dente—just until tender but still firm. Overcooked rice turns gluey and makes the rolls fall apart when sliced. Drain well and let it cool before stuffing.
- Stuff Loosely: Don’t pack the filling too tight—leave room for expansion. A snug roll will burst open in the oven or pot, and you’ll end up with a mess. Fill to 80%, then roll gently.
Health benefits of this ukrainian cabbage rolls
Fiber-Rich Foundation
Ukrainian cabbage rolls deliver a whopping 8 grams of dietary fiber per serving—that's over 30% of your daily needs—thanks to the cabbage leaves and whole grains in the filling. This high fiber content supports digestive health by promoting regularity and feeding beneficial gut bacteria.
I've noticed my digestion improves noticeably when I include this dish in my meal rotation, especially with the added rice providing soluble fiber for long-lasting energy. 🌱
Lean Protein Power
The traditional pork filling provides high-quality protein with about 30 grams per serving, helping build and repair muscle tissue while keeping you full for hours. For a lighter option, substitute with ground turkey or mushrooms—which still deliver 15+ grams of protein while reducing saturated fat.
I often make half the batch with pork and half with mushrooms to balance flavors and nutrition. The dill and parsley add extra folate and vitamin K, supporting cellular health.
Vitamin C Boost
Fresh cabbage is packed with vitamin C—one serving provides 50% of your daily requirement—which supports immune function and collagen production. The blanching process preserves about 70% of this vitamin, so don't skip this step!
Pairing these rolls with tomato sauce (another vitamin C source) creates a powerhouse combo for winter immunity. I keep a small bowl of sliced oranges on the side to maximize vitamin C intake during cold months. ✨
Heart-Healthy Fats
While the traditional recipe uses pork, the olive oil and sour cream (when served) provide monounsaturated fats that support heart health. For a heartier option, swap pork for ground chicken or tofu—both reduce saturated fat while keeping the dish protein-rich.
The tomato paste adds lycopene, an antioxidant linked to cardiovascular benefits. I've found that adding 1 tablespoon of flaxseeds to the filling boosts omega-3s without altering texture. 💪
Low-Calorie Comfort
At just 350-400 calories per serving, these rolls deliver satisfying comfort food without excessive calories. The low-fat broth and lean protein keep calories in check while the cabbage and rice provide volume and nutrients.
For even lighter versions, I use cauliflower rice (saving about 50 calories per serving) without sacrificing texture. The dish remains hearty enough to feel indulgent while supporting weight management goals. 💯
Meal Prep Friendly
This recipe's make-ahead nature makes it perfect for health-conscious meal prep. The stuffed rolls can be refrigerated for up to 3 days or frozen for 3 months, preserving nutrients while saving time. Reheating maintains the fiber and protein content, making it an ideal lunchbox staple.
I often prep a double batch on Sundays—half for immediate meals and half for freezing. The sour cream and parsley can be added fresh before serving to prevent sogginess. ❄️
Nutrition facts
Frequently asked questions
What's the best way to keep cabbage leaves from tearing when rolling?
Blanch the leaves properly for 3-4 minutes in boiling water, then shock them in ice water for 1 minute. This makes them pliable without losing structure. Work quickly and keep a damp towel handy to prevent drying. If a leaf tears, simply use two smaller leaves for that roll instead.
Can I make these vegetarian?
Replace pork with 1.5 lbs mushrooms (cremini or portobello) or 1.5 lbs firm tofu, both crumbled finely. Add 1 tbsp soy sauce and ½ tsp smoked paprika to mimic meaty flavor. The texture will differ but still hold together beautifully when wrapped.
How do I know when the cabbage rolls are fully cooked?
The rolls are done when the cabbage leaves are tender but not mushy and the filling reaches 165°F internally. They should also release easily from the baking dish when gently prodded. The sauce should reduce to a glossy consistency—about 1 hour 15 minutes total baking time.
What if I don't have fresh dill?
Use 1 tbsp dried dill instead, but reduce the amount by ⅓ since dried herbs are more concentrated. For a different flavor profile, substitute with 1 tsp dried parsley or ½ tsp dried thyme. Fresh dill gives the most authentic taste, but these alternatives work in a pinch.
Can I make these ahead of time?
Yes! Assemble the rolls up to 24 hours ahead and refrigerate uncooked. For best results, bake directly from cold—no need to thaw. They can also be frozen raw for 3 months (place in a single layer before bagging). Reheat covered with foil until warmed through.