Porcupine meatballs
Rice-studded zucchini meatballs in tomato sauce
Meatballs coated in rice become little porcupines in this budget-friendly and kid-friendly American dish. The porcupine meatballs and rice are cooked in a delicious tomato-soup-based sauce with Italian herbs. Grated zucchini hidden in the meatballs brings an extra vegetable on top of keeping the meatballs moist.

This recipe is an updated version of our family recipe, adding in flavorful herbs and hiding zucchini in the meatballs. When I was a kid, making the meatballs was the fun part of this dish. I always enjoyed rolling them in rice and putting the little “porcupines” in the skillet.


This delicious recipe was a hit at our house. Everyone wanted a second serving! I hope you enjoy it as much as we did!
Here are a couple ingredient notes before you get cooking:
- Ground beef – For succulent porcupine meatballs, use ground beef that is 15% or 20% fat. Leaner ground beef makes for a drier meatball.
- Tomato soup – Your choice of tomato soup will greatly influence the flavor of this dish, even with the added herbs. Pick your favorite brand or recipe. If using condensed soup, add water according to the package instructions. The soup must have no tomato chunks to get the proper saucy texture.
How to store: Porcupine meatballs will keep for a few days in the refrigerator. This recipe can be easily frozen for up to three months. The rice may get a slightly harder texture with freezing. Add a little water when reheating to improve the texture.
Too many ingredients? For the meatball ingredients, if you have Italian breadcrumbs, this can substitute for the breadcrumbs through the dried minced onion. In this case, use 1/2 cup + 1 tbsp. Just keep in mind that the flavor will change depending on the brand. I’ve never seen Italian breadcrumbs here in France, so I came up with my own blend here.
Porcupine meatballs
Ingredients
Meatballs:
- 500 g ground beef (1.1 lb, 15 or 20% fat)
- 200 g zucchini, grated (1 ⅓ cup, from 1 small zucchini)
- 1 egg, beaten
- 1 clove garlic, minced
- 2 tsp Worcestershire sauce
- 70 g breadcrumbs (½ cup)
- 1 tsp dried basil flakes
- 1 tsp dried oregano flakes
- ½ tsp dried rosemary leaves broken into smaller pieces
- ½ tsp dried thyme
- 1 tsp dried minced onion
- 1 tsp salt
- Black pepper to taste
- 200 g rice (1 cup, uncooked)
Sauce:
- 1 liter tomato soup (34 oz, your favorite recipe or brand)
- 3 tbsp tomato paste
- 125 ml water (½ cup)
- 3 cloves garlic, minced
- ½ tsp dried minced onion
- ½ tsp dried oregano flakes
- ¼ tsp dried thyme
Instructions
- Meatballs: Mix all the wet meatball ingredients together in a large bowl. Mix the dry meatball ingredients in a medium bowl, then add to the wet ingredients. Mix with your hands until evenly blended. Roll the meat into meatballs, about 3-4 cm (1 to 1.5 inches) in diameter.
- Roll in rice: Put the 1 cup uncooked rice in a bowl, and roll the meatballs in the rice. Pat the rice into the surface to get it to stick better. Set meatballs aside.
- Prepare sauce: In a large pan with high sides for which you have a cover, whisk all the sauce ingredients together and bring to a simmer.
- Arrange the meatballs in the pan, in the sauce, and sprinkle in the unused rice. With a spoon, make sure all the rice is coated with some sauce, pushing the extra rice into the sauce.
- Cook: Cover and simmer over low heat for 25 minutes, until rice is tender but not too soft and meatballs are cooked through.

