Slovenian meatballs, called polpete, are the weeknight comfort food every family along the Slovenian coast grew up with. Tender beef and pork meatballs built on a milk-soaked bread panade, braised in a simple tomato sauce with marjoram and garlic, then served over a pile of creamy mashed potatoes.

This is the dish Slovenian grandmothers made without a recipe, using whatever bread was going stale in the kitchen. The bread-and-milk trick is what keeps the meatballs soft and juicy even after 25 minutes in the sauce, while marjoram gives the dish its unmistakable Slovenian character. If you enjoyed our Bosnian ćufte in tomato sauce or Croatian ćufte, this is the same Balkan family of dishes, with a distinctly Slovenian twist. You will find it alongside them in our collection of Balkan meatball recipes.

In Slovenia, the dish is called mesne kroglice v paradižnikovi omaki, which simply means meatballs in tomato sauce. It is the kind of meal that shows up on a Tuesday evening with almost no planning, and disappears from the plates in minutes.

Key Takeaways

  • Ground beef and pork with milk-soaked stale bread make the meatballs tender and juicy.
  • Brown them first, then braise gently in tomato sauce for 25 minutes so they soak up the flavor.
  • Marjoram is the defining herb - do not skip it.
  • Serve over mashed potatoes with plenty of sauce spooned on top.
  • The full recipe takes about 45 minutes, most of it hands-off.

How to Make Slovenian Meatballs in Tomato Sauce

  1. Soak the bread. Cut or tear the stale bread soaked in small pieces and place in a bowl. Pour over the milk, mix well, and leave for 5 minutes until the bread is completely softened. Squeeze out any excess milk with your hands and set the soaked bread aside.
  2. Mix the meatball mixture. In a large bowl, combine the ground beef, ground pork, egg, chopped onion, pressed garlic, chopped marjoram, chopped parsley, salt, and pepper. Add the soaked bread. Work everything with your hands for 2 to 3 minutes, squeezing the mixture until it is compact and smooth.
  3. Shape the meatballs. Dampen your hands with cold water and roll the mixture into golf ball sized meatballs, about 18 pieces. If time allows, chill them in the fridge for 15 minutes to firm up.
  4. Brown the meatballs. Heat 2 tablespoons of sunflower oil in a large pan over medium-high heat. Brown the meatballs on all sides until golden, about 2 minutes per side. Let them release naturally from the pan before turning. Transfer the browned meatballs to a plate.
  5. Build the tomato sauce. In the same pan, add the tomato paste and stir for 1 minute to cook off the raw taste. Add the peeled tomatoes and crush them with a spoon into rough chunks. Pour in the broth, add the bay leaf and sugar, season with salt and pepper, and bring to a boil.
  6. Braise the meatballs. Return the browned meatballs to the sauce. Reduce the heat to a gentle simmer, cover, and cook for 25 minutes, shaking the pan gently from time to time. Do not stir with a spoon once the meatballs are in the sauce.
  7. Serve. Remove the bay leaf. Serve the meatballs hot with creamy mashed potatoes, spooning the tomato sauce generously over the top.

Ingredients

  • 250 g (9 oz) ground beef
  • 250 g (9 oz) ground pork
  • 3 slices stale white bread (about 130 g)
  • 150 ml (⅔ cup) milk
  • 1 large egg
  • 1 medium onion, finely chopped
  • 2 garlic cloves, pressed
  • 1 tbsp fresh marjoram, finely chopped (or 1 tsp dried)
  • Small handful fresh flat-leaf parsley, finely chopped (about 15 g)
  • Sea salt and black pepper to taste
  • 2 tbsp sunflower oil (for browning)
  • 2 tbsp tomato paste
  • 1 can (400 g / 14 oz) peeled tomatoes
  • 250 ml (1 cup) chicken or vegetable broth
  • 1 bay leaf
  • 1 tsp sugar

Tips for the Best Slovenian Meatballs

The bread panade is non-negotiable. The milk-soaked stale bread is what makes polpete different from other Balkan meatballs. It traps moisture inside the meat so the meatballs stay tender even after 25 minutes in the sauce. Use bread that is at least a day old - fresh bread turns to mush when you add the milk.

Work the mixture until smooth. Slovenian recipes specifically call for working the meat mixture for 2 to 3 minutes, almost using a squeezing action. This is the opposite of the gentle handling advice for Italian meatballs. Kneading develops the meat so the balls hold their shape through the long braise without crumbling.

Marjoram is what makes it Slovenian. The Istrian coast where polpete originate has a mild Mediterranean climate where marjoram grows everywhere. It gives the meatballs a mild, slightly sweet herbal warmth that oregano cannot quite match. Fresh is best, but dried marjoram works fine. This is the same herb used in our Slovak meatballs in tomato sauce - a Central European favorite.

Brown properly, then do not stir. A golden crust is what keeps the meatballs intact in the sauce. If you force them off the pan early, the crust tears and sticks. When they are ready, they slide free on their own. Once they are back in the sauce, shake the pan instead of using a spoon.

The tomato sauce is simple on purpose. Tomato paste, canned tomatoes, broth, a bay leaf, and a pinch of sugar. No heavy herbs, no cream, no complicated seasoning. The sauce exists to carry the meatballs, not to compete with them.

Variations

Breaded and fried polpete. In Slovenian Istra, polpete are often shallow-fried without any sauce. After shaping, coat each meatball in dry breadcrumbs, press to adhere, and fry in 1 cm of oil until golden brown on both sides. Serve with mashed potatoes, a side salad, or tucked into a bread roll.

Add rice. Some Slovenian families add 3 tablespoons of cooked rice to the meat mixture, the way Croatian and Bosnian versions do. This makes the meatballs even softer and stretches the meat further.

Use a pork and beef blend. The traditional ratio is 50-50 beef and pork. For leaner meatballs, use all beef, but add a tablespoon of sunflower oil to the mixture to compensate for the lower fat.

Creamy tomato sauce. Stir in 2 tablespoons of sour cream at the end, off the heat, for a richer, paprikás-style sauce. This moves the dish toward the Hungarian version but stays delicious.

Gluten-free. Swap the stale bread for gluten-free panko soaked in the same amount of milk. Use gluten-free breadcrumbs for the coating.

Storage and Reheating

Leftovers keep in an airtight container in the fridge for up to 4 days. The tomato sauce improves as the flavors meld.

Reheat gently on the stove over low heat with a splash of broth or water until warmed through. Avoid high heat, which toughens the meatballs. You can also microwave individual portions in 30-second bursts, shaking the sauce between each round.

Freeze the cooked meatballs in their sauce for up to 3 months. Thaw overnight in the fridge and reheat slowly on the stove.

Raw, uncooked breaded polpete also freeze well. Arrange them in a single layer in a freezer bag, and refresh the breadcrumb coating with a quick re-coat before frying.

FAQ

What are Slovenian meatballs called? In Slovenia, meatballs are called polpete along the Istrian coast, influenced by the Italian polpette. The more common Slovenian term is mesne kroglice, which simply means meat balls. The full name for this dish is mesne kroglice v paradižnikovi omaki.

What makes Slovenian polpete different from Italian meatballs? Two things: the bread-and-milk panade that keeps them tender, and the marjoram instead of basil and oregano. Italian meatballs also use Parmesan in the mixture - Slovenian polpete do not. The result is a simpler, more rustic meatball built for braising.

Can I use all beef or all pork? You can, but the 50-50 mix is traditional for a reason. Beef provides structure and flavor, while pork fat keeps the meatballs juicy. All beef works but can be drier; all pork is softer and may fall apart in the sauce.

What do Slovenians serve with polpete? Mashed potatoes are the classic pairing, with rice or crusty bread as easy alternatives. The tomato sauce is meant to be mopped up, so bread is never a bad choice.

Is this dish spicy? No. Sweet paprika is sometimes added to the tomato sauce, but the base recipe is mild. The flavor comes from marjoram, garlic, and the slow braise. For heat, add a pinch of cayenne or hot paprika to the tomato sauce.

Can I make these ahead of time? Yes. Shape the meatballs and keep them covered in the fridge for up to 24 hours before cooking. You can also brown them ahead of time, refrigerate, and finish them in the sauce when you are ready to eat.

Sources