Old-Fashioned Porcupine Meatballs
Porcupine meatballs simmered in tomato sauce until the uncooked rice inside swells and pokes out like quills. A retro ground beef dinner for 6.

This post may contain affiliate links. See our disclosure policy.
Porcupine meatballs earned that name honestly. Uncooked rice goes straight into the raw meat, and as the meatballs simmer in tomato sauce the grains swell and push out through the surface until every one looks like it grew quills. It’s a 1950s church cookbook dinner that still holds up: ground beef, a half cup of rice, and a skillet of sauce doing the work.
The raw rice is what makes this cook differently from every other meatball. Dry grains pull liquid out of the sauce as they soften, so the pan needs extra liquid and the lid has to stay put. About 40 minutes of covered, barely bubbling heat steams the rice inside the meat while the beef cooks to 160°F. Turn the burner up or leave the lid off and the sauce cooks down before the grains get tender, which is where crunchy porcupine meatballs come from.
Skip browning them first. It feels wrong to drop raw meatballs into sauce, but a seared crust slows the steam getting in, and the rice needs every bit of it. Rolling them raw also means one skillet, one lid, and about 15 minutes of hands-on work.
Why You’ll Love This Porcupine Meatballs Recipe
- The rice cooks itself. A half cup of dry rice goes in raw and comes out tender inside the meat, so there’s no second pot to watch.
- One skillet, start to finish. Mix, roll, pour, cover. Nothing gets browned in a separate pan and nothing gets drained.
- Stretches a pound and a half of beef across 6 plates. The rice bulks up the meat, which is why this showed up in wartime and Depression-era cookbooks to begin with.
- An easy sell with kids. Spiky meatballs in red sauce get eaten at tables where plain ground beef gets negotiated.
Porcupine Meatballs Ingredients
Plain long grain white rice is the only kind that works here. Instant rice is precooked and dried, so 40 minutes of moist heat turns it to paste, and brown rice wants closer to 50 minutes plus more liquid than this sauce has to give. Rinse the rice first to wash off the loose surface starch that makes grains clump.
- 1 1/2 lbs ground beef (85/15)
- 1/2 cup uncooked long grain white rice, rinsed
- 1 small yellow onion, finely diced
- 3 cloves garlic, minced
- 1 large egg
- 2 tbsp fresh parsley, chopped
- 1 tsp Italian seasoning
- 1 1/2 tsp salt
- 1/2 tsp black pepper
- 1 (15 oz) can tomato sauce
- 1 (14.5 oz) can crushed tomatoes
- 1 cup beef broth
- 2 tbsp brown sugar
- 1 tbsp Worcestershire sauce
- 1/2 tsp garlic powder
- 1/4 tsp black pepper, for the sauce
- 2 tbsp fresh parsley, chopped, for garnish

Recipe Variations
- Bake them instead. Build everything in an oven-safe skillet or a 9×13 dish, cover tightly with a lid or foil, and bake at 350°F for 55 minutes.
- Use 1 pound of ground beef and 1/2 pound of ground pork for a softer, richer meatball. The pork fat keeps them tender through the long simmer.
- Move it to the slow cooker. Arrange the raw meatballs in a single layer, pour the sauce over, and cook on low 5 to 6 hours or high 2 1/2 to 3, until the rice is tender.
How to Make Porcupine Meatballs
- Rinse the rice: Put the rice in a fine mesh strainer and run cold water over it for about 20 seconds, until the water coming through looks mostly clear. Shake it dry.
- Mix the meat: Combine the ground beef, rinsed rice, onion, garlic, egg, 2 tablespoons parsley, Italian seasoning, salt, and 1/2 teaspoon black pepper in a large bowl. Mix with your hands just until the rice is spread evenly through. It will feel looser and wetter than a normal meatball mix, and that’s right.
- Roll and arrange: Wet your hands and roll the mixture into 24 meatballs, about 1 1/2 inches each. Set them in a large deep skillet in a single layer. They can touch, they just shouldn’t stack.
- Mix and pour the sauce: Whisk the tomato sauce, crushed tomatoes, beef broth, brown sugar, Worcestershire sauce, garlic powder, and 1/4 teaspoon black pepper together, then pour it evenly over the meatballs. It should come up around them and nearly cover them.
- Simmer covered: Bring the pan to a gentle boil over medium-high heat, then drop the heat to low, cover, and simmer 40-45 minutes. Keep it at a lazy bubble. A hard boil breaks the meatballs apart and cooks the sauce down before the rice softens.
- Baste the porcupine meatballs: At about the 20-minute mark, lift the lid just long enough to spoon sauce over any tops sitting dry, then cover again. Every long peek costs steam the rice needs.
- Check and serve: They’re done when the grains are tender and clearly standing out of the meatball surface and the beef reads 160°F on a thermometer. Rest the pan off the heat 5 minutes, then scatter the remaining parsley over the top.

Recipe FAQs
Why Are They Called Porcupine Meatballs?
The rice goes in raw. As it cooks it swells to about three times its size and pushes out through the surface of each meatball, so they end up covered in little white quills.
Can I Use Instant Rice or Brown Rice?
Neither one behaves. Instant rice is precooked, so it turns to mush. Brown rice needs about 50 minutes and more liquid than this sauce has, so the grains stay crunchy while the beef dries out.
Do I Have to Brown the Meatballs First?
No, and they’re better if you don’t. A seared crust slows the steam that has to get inside to cook the rice, and raw meatballs hold together fine once the grains swell and bind them from within.
My Rice Was Still Crunchy in the Middle. What Went Wrong?
Almost always the heat was too high or the lid came off too often. The sauce should barely bubble. If the grains still have bite at 45 minutes, stir in 1/4 cup of water, cover, and give it 10 more.
Can I Make Porcupine Meatballs with Condensed Tomato Soup Instead?
Yes, that’s the version most grandmothers used. Swap the tomato sauce, crushed tomatoes, and broth for one 10.75-ounce can of condensed tomato soup mixed with 1 1/4 cups of water, and cut the brown sugar to 1 teaspoon since the soup is already sweet.

Cooking Tips
- Rinse the rice until the water runs mostly clear. Loose starch glues grains together, and clumped grains stay buried in the meat instead of standing up where you can see them.
- Use a skillet wide enough to hold all 24 in one layer. Stacked meatballs cook unevenly, and the ones on top sit above the sauce line with no liquid for the rice to drink.
- Go easy on the mixing. The rice needs to be distributed, but working the beef past that packs the meatballs tight and makes it harder for steam to reach the center.

Storage and Freezing
To store: Refrigerate leftovers in an airtight container for up to 4 days. The rice keeps drinking sauce overnight, so they’ll look drier the next day.
To freeze: These freeze well for up to 3 months, sauce and all. Cool completely, freeze flat in a bag, and thaw overnight in the fridge. The rice softens a little but the meatballs keep their shape.
To reheat: Warm them in a covered skillet over low heat with 3-4 tablespoons of water or broth stirred in, about 8-10 minutes. The microwave works too, covered, with a spoonful of water added.

How to Serve Porcupine Meatballs
Porcupine Meatballs come with their starch built in, so they don’t need a bed of rice underneath. Mashed potatoes are the traditional partner and soak up the extra sauce, and buttered egg noodles or crusty bread do the same job. Add green beans or a plain salad. If you want that same beef-and-rice comfort without rolling anything, our Ground Beef and Rice gets you there in one skillet.
Loved This Recipe?
Porcupine Meatballs take about an hour, most of it hands-off under a lid, and they’ve been feeding families this way since long before anybody called them retro.
Leave a star rating in the comments below, it helps other people find this recipe. Made it? Tag @allwellfed on Instagram, I love seeing this one in other people’s kitchens.

Old-Fashioned Porcupine Meatballs
Equipment
- Instant-Read Thermometer 160°F, checked in two spots rather than one.
Ingredients
- 1 1/2 lbs ground beef 85/15
- 1/2 cup uncooked long grain white rice rinsed
- 1 small yellow onion finely diced
- 3 cloves garlic minced
- 1 large egg
- 2 tbsp fresh parsley chopped
- 1 tsp Italian seasoning
- 1 1/2 tsp salt
- 1/2 tsp black pepper
- 1 (15 oz) can tomato sauce
- 1 (14.5 oz) can crushed tomatoes
- 1 cup beef broth
- 2 tbsp brown sugar
- 1 tbsp Worcestershire sauce
- 1/2 tsp garlic powder
- 1/4 tsp black pepper for the sauce
- 2 tbsp fresh parsley chopped, for garnish
Instructions
- Rinse the rice: Put the rice in a fine mesh strainer and run cold water over it for about 20 seconds, until the water coming through looks mostly clear. Shake it dry.
- Mix the meat: Combine the ground beef, rinsed rice, onion, garlic, egg, 2 tablespoons parsley, Italian seasoning, salt, and 1/2 teaspoon black pepper in a large bowl. Mix with your hands just until the rice is spread evenly through. It will feel looser and wetter than a normal meatball mix, and that’s right.
- Roll and arrange: Wet your hands and roll the mixture into 24 meatballs, about 1 1/2 inches each. Set them in a large deep skillet in a single layer. They can touch, they just shouldn’t stack.
- Mix and pour the sauce: Whisk the tomato sauce, crushed tomatoes, beef broth, brown sugar, Worcestershire sauce, garlic powder, and 1/4 teaspoon black pepper together, then pour it evenly over the meatballs. It should come up around them and nearly cover them.
- Simmer covered: Bring the pan to a gentle boil over medium-high heat, then drop the heat to low, cover, and simmer 40-45 minutes. Keep it at a lazy bubble. A hard boil breaks the meatballs apart and cooks the sauce down before the rice softens.
- Baste the porcupine meatballs: At about the 20-minute mark, lift the lid just long enough to spoon sauce over any tops sitting dry, then cover again. Every long peek costs steam the rice needs.
- Check and serve: They’re done when the grains are tender and clearly standing out of the meatball surface and the beef reads 160°F on a thermometer. Rest the pan off the heat 5 minutes, then scatter the remaining parsley over the top.
Notes
If you made this, leave a star rating down in the comments. It takes about ten seconds, and it’s how other cooks decide whether a recipe is worth trying.




