Quick Recipe Version (TL;DR)
Quick Ingredients
- 1.8 kg pork shoulder, skin-on if possible
- 4 garlic cloves, grated
- 2 tsp caraway seeds, lightly crushed
- 1 tbsp kosher salt (or 2 tsp fine sea salt), 1 tsp black pepper
- 2 tbsp oil or lard, divided
- 3 medium onions (750 g), sliced; 1 carrot; 1 celery stalk
- 2 tbsp tomato paste
- 500 ml German dark beer (Dunkel/Schwarzbier)
- 500 ml low-sodium beef or pork stock
- 2 bay leaves; 1 tsp caraway; 1 tsp dried marjoram (optional)
- 1 tsp brown sugar; 1 tsp apple cider vinegar (optional)
- 2 tbsp cold butter (to finish gravy)
- 500 g sauerkraut; 1 small onion; 1 small apple; 1 tbsp butter/lard; 120 ml dry white wine or water
- 1 kg waxy potatoes; 2 tbsp butter; 2 tbsp chopped parsley
Do This
- 1. Score fat, rub pork with garlic, caraway, salt, pepper, and 1 tbsp oil; chill uncovered up to 24 hours (optional).
- 2. Heat oven to 160°C/325°F. Put sliced onions, carrot, celery, bay, and 1 tsp caraway in a roasting pan; pour in 250 ml beer + 250 ml stock. Set pork on a rack over pan, fat up.
- 3. Roast 2 hours, adding liquid as needed to maintain about 1 cm in pan.
- 4. Increase oven to 230°C/450°F and roast 20–25 minutes until edges are crackly and internal temp is 75–80°C/167–176°F. Rest 15 minutes.
- 5. Make gravy: skim fat, brown tomato paste, deglaze with remaining 250 ml beer, reduce, add remaining 250 ml stock, marjoram, sugar; simmer and finish with butter (and vinegar if desired).
- 6. Warm sauerkraut 10–15 minutes with onion, apple, butter/lard, caraway, bay, wine/water; season.
- 7. Boil potatoes 12–15 minutes in salted water; drain and toss with butter and parsley. Slice pork, ladle gravy, serve with sauerkraut and potatoes.
Why You’ll Love This Recipe
- Classic Bavarian flavors: garlic, caraway, and dark beer create a deeply savory roast with a gently bitter-sweet gravy.
- Slow-roasted for tenderness with a final blast for those coveted crackly edges.
- Complete comfort plate: warm sauerkraut and parsley buttered potatoes, all ready while the roast rests.
- Approachable for home cooks with clear timings, temperatures, and make-ahead tips.
Grocery List
- Produce: 4 garlic cloves, 4 medium onions, 1 carrot, 1 celery stalk, 1 small apple, 1 kg waxy potatoes, fresh parsley
- Dairy: Unsalted butter
- Pantry: Pork shoulder (about 1.8 kg), sauerkraut (500 g), caraway seeds, kosher or sea salt, black pepper, tomato paste, bay leaves, dried marjoram (optional), brown sugar, apple cider vinegar (optional), vegetable oil or lard, low-sodium beef or pork stock (500 ml), German dark beer (500 ml), dry white wine (for sauerkraut; or water)
Full Ingredients
Pork Shoulder
- 1.8 kg pork shoulder (skin/rind on if available), patted dry
- 4 garlic cloves, finely grated
- 2 tsp caraway seeds, lightly crushed
- 1 tbsp kosher salt (or 2 tsp fine sea salt)
- 1 tsp freshly ground black pepper
- 1 tbsp vegetable oil or lard
Beer-Onion Gravy
- 2 tsp vegetable oil or pork drippings (as needed)
- 3 medium yellow onions (about 750 g), thinly sliced
- 1 large carrot, chopped
- 1 celery stalk, chopped
- 2 tbsp tomato paste (30 g)
- 500 ml German dark beer (Dunkel or Schwarzbier), divided
- 500 ml low-sodium beef or pork stock, divided
- 2 bay leaves
- 1 tsp caraway seeds
- 1 tsp dried marjoram or 1 tbsp chopped fresh marjoram (optional)
- 1 tsp brown sugar (to balance the beer)
- 1 tsp apple cider vinegar (optional, to brighten)
- 1 tbsp cornstarch mixed with 1 tbsp cold water (optional, for thicker gravy)
- 2 tbsp cold unsalted butter
- Fine sea salt and black pepper, to taste
Warm Sauerkraut
- 500 g sauerkraut, drained (rinse briefly if very sour), squeezed dry
- 1 small onion, thinly sliced
- 1 small apple, peeled and grated or very thinly sliced (optional but traditional)
- 1 tbsp butter or lard
- 1 tsp caraway seeds
- 1 bay leaf
- 120 ml dry white wine or water
- Pinch of sugar, salt, and black pepper to taste
Boiled Potatoes
- 1 kg waxy potatoes (such as Yukon Gold), peeled if desired and cut into 4 cm chunks
- 1 tbsp kosher salt (for the cooking water)
- 2 tbsp unsalted butter
- 2 tbsp chopped fresh parsley
- Black pepper, to taste
For Serving
- Chopped fresh parsley, for garnish
- Coarse mustard (optional)

Step-by-Step Instructions
Step 1: Score, season, and optionally dry-brine the pork
Pat the pork shoulder dry. If the skin/rind is on, score it with a sharp knife in a 1.5–2 cm crosshatch pattern (cut through the skin and most of the fat but not into the meat). If there is only a fat cap, make shallow diagonal slashes. In a small bowl, mix the grated garlic, caraway, salt, pepper, and 1 tbsp oil or lard into a paste. Rub it all over the pork, working the seasoning into the cuts. For the best flavor and crackly edges, place the pork uncovered on a rack in the refrigerator for 4–24 hours. If short on time, proceed immediately.
Step 2: Build the roasting base with onions and aromatics
Heat the oven to 160°C/325°F with a rack in the lower third. In a large roasting pan, combine the sliced onions, carrot, celery, bay leaves, and 1 tsp caraway. Toss with 2 tsp oil or a spoon of pork fat if you have it. Pour in 250 ml beer and 250 ml stock. Set a roasting rack over the vegetables (or nestle the pork directly on the veggies). Place the pork on the rack, fat/skin side up.
Step 3: Slow-roast until tender and juicy
Roast for about 2 hours, basting once or twice with the pan juices. Keep approximately 1 cm of liquid in the pan; add a splash of hot water, stock, or beer if it dries out. Start checking internal temperature after 1 hour 45 minutes; you’re aiming for about 68–70°C/155–160°F at this stage.
Step 4: Blast for crackly edges and rest the meat
Increase the oven to 230°C/450°F and continue roasting 20–25 minutes, until the edges are deeply browned and crisp and the internal temperature reaches 75–80°C/167–176°F (tender but sliceable). Transfer the pork to a cutting board, tent loosely with foil, and rest for 15–20 minutes. Meanwhile, proceed with the gravy.
Step 5: Make the dark-beer onion gravy
Place the roasting pan (with onions and juices) over medium-high heat on the stovetop. If there is more than 2–3 tbsp fat on top, spoon it off. Add the tomato paste and cook 2 minutes, stirring, until darkened. Deglaze with the remaining 250 ml beer, scraping up browned bits, and reduce by half, 5–7 minutes. Stir in the remaining 250 ml stock, marjoram (if using), and brown sugar; simmer 8–10 minutes until flavorful. For a thicker gravy, stir in the cornstarch slurry and simmer 1–2 minutes. Off the heat, whisk in the cold butter and a splash of vinegar to brighten. Season with salt and pepper to taste. For an extra-smooth sauce, strain; or leave the onions in for rustic texture.
Step 6: Warm the sauerkraut
In a medium saucepan over medium heat, melt the butter or lard. Add the sliced onion and cook 3–4 minutes until translucent. Stir in the apple, sauerkraut, caraway, and bay leaf. Add the white wine or water, a pinch of sugar, and a pinch of salt and pepper. Cover and simmer gently for 10–15 minutes, stirring occasionally. Keep warm; remove bay leaf before serving.
Step 7: Boil and season the potatoes
Place the potatoes in a pot, cover with cold water by 2–3 cm, and add 1 tbsp salt. Bring to a boil, then simmer 12–15 minutes until just tender. Drain well, return to the warm pot, and toss with the butter and parsley. Season with pepper and a pinch of salt if needed. Cover to keep warm.
Step 8: Slice and serve
Slice the rested pork into 1 cm thick slices. Arrange on a warm platter with the sauerkraut and potatoes. Ladle the dark-beer onion gravy over the meat, scatter with parsley, and serve extra gravy at the table. Optional: a dab of coarse mustard is lovely on the side.
Pro Tips
- For extra crackle, dry-brine the pork uncovered in the fridge overnight and be sure to finish with a hot roast at 230°C/450°F.
- Choose a malty German Dunkel or Schwarzbier. Very hoppy beers can turn the gravy bitter; a pinch of sugar and a splash of vinegar help balance.
- Keep at least 1 cm liquid in the pan during roasting so the onions do not burn; add stock/beer as needed.
- Resting is essential. A 15–20 minute rest keeps the pork juicy and easier to slice cleanly.
- If your shoulder has a thick rind, you can crisp it further under a hot grill/broiler for 1–3 minutes, watching closely.
Variations
- Pork loin version: Use a 1.3–1.5 kg pork loin, roast at 160°C/325°F to 60–63°C/140–145°F (about 1–1.5 hours), then blast at 230°C/450°F for 10 minutes. Slice thinner and serve with the same gravy.
- No-alcohol gravy: Replace beer with a mix of 400 ml beef stock + 100 ml apple juice, plus 1 tsp Worcestershire for malty depth.
- Juniper and mustard: Add 4 lightly crushed juniper berries and 1 tsp German mustard to the rub for a foresty, aromatic twist.
Storage & Make-Ahead
Refrigerate leftovers in airtight containers for up to 4 days. The gravy can be cooled, refrigerated, and gently reheated; add a splash of stock if thick. Sliced pork reheats best covered with a little gravy at 160°C/325°F for 10–15 minutes or gently on the stovetop. Sauerkraut can be made 2 days ahead; reheat with a splash of water. Potatoes are best fresh, but you can parboil them 1 day ahead (5–6 minutes), chill, then finish boiling and buttering before serving. The roast can be fully cooked and sliced a day ahead; reheat slices in gravy until hot.
Nutrition (per serving)
Approximate values: 760 calories; 45 g protein; 42 g fat; 45 g carbohydrates; 4 g fiber; 1,600 mg sodium. Calculations include gravy, 1/6 of the sauerkraut and potatoes, and will vary with ingredient brands and trimming.
