These porcupine meatballs, baked in a silky sour cream and tomato sauce, are a delightful blend of comfort and nostalgia. Juicy meatballs in a tangy, creamy sauce with a sprinkle of dill — simple comfort that brings smiles to the dinner table.
Serve with mashed potatoes or a baked mashed potato casserole with mushrooms for a classic, satisfying meal.

Sometimes I like to return to the dishes I grew up with. You’ll find recipes like vareniki and borscht on my site—and porcupine meatballs (known in Russian as tefteli) are another favorite worth sharing. My mother made these often because they were always a hit. The small rice-studded meatballs look like little porcupines, which makes them especially popular with kids.
Traditional porcupine meatballs are made from ground meat mixed with rice. The rice pokes out as the meatballs cook, giving them their name. I usually use a mix of ground beef and pork for juiciness and flavor, but ground beef alone will work if preferred. The meatballs are baked in a creamy tomato sauce that complements the savory filling perfectly.

Porcupine Meatballs Recipe
If you haven’t tried porcupine meatballs (sometimes called “hedgehog meatballs”), you’re in for a treat. The rice inside gives the meatballs a pleasing texture and their familiar, quill-like appearance. The creamy tomato sauce is the finishing touch: rich, slightly tangy, and perfect for spooning over mashed potatoes or buckwheat kasha.

Recipe Tips and Notes
- Start the sauce by slowly cooking onions and carrots in a mix of oil and butter until they soften and caramelize. This step releases natural sweetness and builds a deeper flavor—don’t rush it.
- Use pre-cooked rice for the meat mixture and keep it slightly firm so the grains hold their shape inside the meatballs.
- Brown the meatballs in a skillet before baking. This seals in juices and adds a pleasant crust. They don’t need to be cooked through at this stage—just nicely seared on all sides.
- Use full-fat sour cream to prevent separation in the oven. If you prefer, heavy cream can be used as an alternative.
- Dill is traditional and brightens the dish; if you prefer, parsley is a fine substitute.

Serving Suggestions
These meatballs are excellent with fluffy mashed potatoes that soak up the sauce. A simple tomato and cucumber salad on the side adds brightness and crunch. Finish with a sprinkle of fresh dill for freshness and color.

Storage and leftovers
Store leftovers in an airtight container in the refrigerator for 2–3 days. Because the sauce contains cream, I don’t recommend freezing meatballs already cooked in the sauce—cream can separate and become grainy after freezing and reheating. Uncooked meatballs (without sauce) can be frozen for up to three months; thaw completely before cooking.
More Meatball Recipes to Try
- Meatballs Stroganoff
- Swedish Meatballs in Cream Sauce
- Bucatini all’Amatriciana with meatballs
- Meatballs with Marsala Cream Sauce
Porcupine Meatballs in Creamy Tomato Sauce (Tefteli)
By Julia Frey
Prep: 25 mins • Cook: 50 mins • Total: 1 hr 15 mins • Servings: 6
Equipment
- Large, deep pan or Dutch oven
Ingredients
For the porcupine meatballs
- 100 g (½ cup) rice, uncooked
- 1 tbsp olive oil
- 1 tbsp butter
- 1 large onion, chopped
- 1 large carrot, grated
- 500 g (1 lb) ground beef
- 500 g (1 lb) ground pork
- 1 tbsp fresh dill, chopped
- 2 tsp salt
- ½ tsp pepper
For the creamy tomato sauce
- 1 tbsp olive oil
- 1 tbsp butter
- 1 large onion, chopped
- 1 large carrot, grated
- 2 cloves garlic, minced
- 1 tbsp fresh dill, chopped
- 400 g (14 oz) canned tomatoes, pureed
- 250 ml (1 cup) chicken stock
- 3 tbsp full-fat sour cream
- Salt to taste
Instructions
- Cook the rice in plenty of water until al dente—about 5 minutes. Drain and set aside; it should hold its shape and not be mushy.
- In a frying pan, heat 1 tbsp olive oil and 1 tbsp butter. Cook one chopped onion and the grated carrot over low heat for about 10 minutes until soft. Set aside some of the cooked onions and carrots to mix into the meat, and reserve the rest for the sauce.
- In a large bowl, combine the ground beef and pork with the cooked rice, chopped dill, the reserved sautéed onions and carrots, salt, and pepper. Mix gently to combine.
- Form the mixture into small meatballs. In a skillet, heat a little oil and brown the meatballs on all sides. They do not need to be cooked through—just nicely seared. Remove and set aside.
- For the sauce, in a large deep pan heat 1 tbsp olive oil and 1 tbsp butter. Cook the remaining chopped onion and grated carrot over low heat for at least 15 minutes until caramelized. Add minced garlic and cook briefly, then stir in chopped dill, pureed tomatoes, and chicken stock. Increase heat and bring to a boil.
- Remove the pan from heat and stir in the sour cream until smooth. Return the browned meatballs to the pan and spoon sauce over them so they are nearly covered. Add extra stock if needed to reach desired coverage.
- Cover the pan and bake at 165°C (300°F) for 40 minutes. Uncover and bake 10 minutes more. Baking at a lower temperature helps prevent the sour cream from separating.
Notes
This recipe makes approximately 30–35 small meatballs, depending on size.
Nutrition
Calories: 534 kcal | Carbohydrates: 26 g | Protein: 32 g | Fat: 33 g | Saturated Fat: 13 g | Sodium: 1078 mg
Nutrition information is automatically calculated and should be used only as an approximation.