Servings: 6 | Prep Time: 15 minutes | Cook Time: 55 minutes | Total Time: 1 hour 10 minutes
Okay, real talk — have you ever stumbled onto a recipe that sounds totally weird but turns out absolutely incredible? That is exactly what happened to me the first time someone mentioned Porcupine Meatball. I thought it was a joke. It is not.
These little beauties get their name from the rice cooked inside the meat. As they simmer, the grains poke out like tiny spines — hence the name. IMO, it is one of the most creative comfort food names out there.
This dish is hearty, saucy, and stupidly easy to make. Whether you are cooking for a hungry family or just want leftovers for the week, this recipe delivers every single time. Let us get into it.
What Exactly Is a Porcupine Meatball?
A Porcupine Meatball is a seasoned ground beef ball stuffed with uncooked rice, then slow-cooked in a rich tomato sauce. The rice absorbs the sauce as it cooks and puffs up through the meat — creating that signature spiky look.
The result? A tender, flavorful meatball with a built-in starch that soaks up all that saucy goodness. No separate side dish needed. This is a complete meal in one pot.
The dish has roots in American home cooking from the early 20th century. Grandmothers across the country made these when stretching a pound of beef had to feed six people. Smart and delicious — that is a winning combination.
Ingredients You Need for Porcupine Meatball

Nothing fancy here. You probably have most of this in your pantry already. Let us go through the full list.
For the Meatballs
- 1 pound ground beef (80/20 blend works best)
- 1/2 cup uncooked long-grain white rice
- 1/3 cup finely chopped onion
- 1 egg
- 1/2 teaspoon garlic powder
- 1/2 teaspoon salt
- 1/4 teaspoon black pepper
- 1 tablespoon Worcestershire sauce
For the Tomato Sauce
- 1 can (15 oz) tomato sauce
- 1 can (10.5 oz) condensed tomato soup
- 1 cup water or beef broth
- 1 teaspoon sugar
- 1/2 teaspoon onion powder
- 1/2 teaspoon Italian seasoning
- Salt and pepper to taste
How to Make Porcupine Meatball Step by Step

Here is where things get fun. The process is straightforward, but I want to walk you through every detail so your first batch comes out perfect. No guessing, no winging it.
Step 1: Mix Your Meatball Mixture
Grab a large mixing bowl and add your ground beef. Break it up loosely with your hands before adding anything else — this makes mixing easier and prevents overworking the meat later.
Add the uncooked rice, chopped onion, egg, garlic powder, salt, pepper, and Worcestershire sauce into the bowl. Now mix everything together gently using your hands or a fork. The key word here is gently.
Overmixing ground beef makes your meatballs dense and tough. You want a mixture that just holds together. Stop mixing the moment everything is evenly combined. It should take about 30 to 45 seconds of actual mixing.
Step 2: Shape the Meatballs
Scoop roughly 2 tablespoons of the mixture per meatball. Roll each portion between your palms with light, even pressure into a smooth ball. Do not squeeze hard — you want them firm but not compacted.
You should end up with approximately 18 to 20 meatballs. Line them on a plate or baking sheet as you go. If the mixture feels sticky, wet your hands slightly between batches. Works like a charm every time.
Try to keep them roughly the same size so they cook evenly. Uneven meatballs mean some end up overcooked while others stay undercooked in the middle. That is not the vibe we are going for here.
Step 3: Make the Tomato Sauce
Pour the tomato sauce, condensed tomato soup, and water or beef broth into a large deep skillet or Dutch oven. Stir everything together until the soup is fully dissolved and the mixture is smooth.
Add the sugar, onion powder, Italian seasoning, salt, and pepper. Give it another good stir. The sugar sounds odd but it balances the acidity of the tomatoes. Trust the process — the final flavor pays off.
Taste the sauce at this point. You want it to taste slightly more seasoned than you think it should, because the rice inside the meatballs will absorb a lot of flavor as everything cooks together.
Step 4: Brown the Meatballs (Optional But Recommended)
This step is optional but adds serious depth of flavor. Heat a drizzle of oil in your pan over medium-high heat. Brown the meatballs in batches for about 2 minutes per side — just until a crust forms.
You are not cooking them through at this point. Just developing color and flavor on the outside. This step adds a roasty, caramelized layer that plain simmered meatballs simply cannot match.
If you are short on time, skip the browning and place them directly into the sauce raw. They will still turn out great. FYI, browning does make cleanup slightly messier — just something to keep in mind.
Step 5: Simmer Low and Slow
Arrange all the meatballs in a single layer in the sauce. Bring everything to a gentle boil over medium heat, then immediately reduce the heat to low. Cover the pan tightly with a lid.
Let the meatballs simmer for 45 to 55 minutes. Do not rush this. The low, slow cook is what allows the rice inside to fully soften and the meatballs to become tender right through to the center.
Every 15 minutes or so, give the pan a gentle shake or spoon some sauce over the tops of the meatballs. This keeps things moist and prevents any sticking to the bottom. Patience here makes a real difference.
Step 6: Check for Doneness
After 45 minutes, cut one meatball in half to check. The rice inside should be fully cooked and tender — not crunchy or chalky. The meat should be completely cooked through with no pink remaining.
If the rice still feels firm, put the lid back on and cook for another 10 minutes. Cooking time can vary slightly depending on the size of your meatballs and how well your pan holds heat.
Once done, the sauce should have thickened and the meatballs should look beautifully saucy and glossy. That rice peeking out through the meat? Yep — that is your porcupine effect. Pretty cool, right?
Step 7: Rest and Serve
Turn off the heat and let the meatballs rest in the sauce for 5 minutes before serving. This resting time lets the juices redistribute inside the meatballs and gives the sauce a moment to settle.
Serve them directly from the pan over mashed potatoes, egg noodles, steamed rice, or just with crusty bread to mop up all that sauce. Spoon plenty of that gorgeous tomato sauce over the top.
Tips to Make Your Porcupine Meatball Even Better
A few small tweaks can take this from good to genuinely great. Here is what I have learned after making this recipe more times than I can count.
Fun Variations to Try

Once you master the classic Porcupine Meatball recipe, you can start playing around. Here are a few twists that work really well.
- Cheesy version: Mix 1/4 cup shredded cheddar into the meatball mixture before rolling.
- Spicy kick: Add a pinch of red pepper flakes to the sauce for some heat.
- Italian style: Use Italian sausage instead of ground beef and add fresh basil to the sauce.
- Slow cooker method: Place raw meatballs in sauce and cook on LOW for 6 to 7 hours.
- Baked option: Cover and bake at 350 degrees F for 60 minutes instead of stovetop simmering.
Storing and Reheating Leftovers
Leftover Porcupine Meatballs store beautifully. Place them in an airtight container with all the sauce and refrigerate for up to 4 days. The sauce actually thickens overnight and tastes even better the next day.
To reheat, add a splash of water or broth to the container or pan, then warm over low heat on the stovetop until heated through. Microwave works too — just cover loosely and heat in 90-second intervals, stirring between each.
You can also freeze these for up to 3 months. Thaw overnight in the refrigerator before reheating. The texture holds surprisingly well, making this a great meal prep option for busy weeks.
Frequently Asked Questions
Can I use brown rice instead of white rice?
You can, but brown rice takes significantly longer to cook — sometimes up to 90 minutes. If you go that route, extend your simmering time and add extra liquid to the sauce to prevent it from drying out before the rice finishes cooking.
Why did my meatballs fall apart in the sauce?
This usually happens when the mixture was not bound properly. Make sure you include the egg and do not skip it. Also, avoid overmixing the meat, which can break down the protein structure. Gentle handling makes compact, sturdy meatballs.
Can I make Porcupine Meatball ahead of time?
Absolutely. You can mix and shape the meatballs up to 24 hours ahead, then cover and refrigerate them raw. Just take them out 15 minutes before cooking to take the chill off. They cook more evenly when not ice cold.
Is it okay to use ground turkey instead of beef?
Yes, ground turkey works but the flavor will be milder. Add a bit more Worcestershire sauce and seasoning to compensate. The texture can also be slightly firmer, so handle the mixture extra gently when shaping.
What should I serve with Porcupine Meatball?
They are brilliant over mashed potatoes, buttered egg noodles, or steamed vegetables. A simple green salad on the side balances the richness of the sauce perfectly. Crusty bread for sauce-mopping is practically mandatory in my house :/
Final Thoughts
Porcupine Meatball is the kind of recipe that earns a permanent spot in your dinner rotation. It is budget-friendly, deeply satisfying, and genuinely fun to make. Even the name makes people curious at the dinner table.
The hands-on time is minimal. Most of the magic happens while the meatballs quietly simmer away on the stove. You get a full, hearty meal with almost zero fuss — and leftovers that somehow taste even better the next day.
Give this a try this week. I promise the porcupine meatball will win over even your pickiest eaters. And once it does, you will wonder why it took you so long to make it part of your regular dinner game. Happy cooking!

Porcupine Meatball
Ingredients
Method
- Mix Your Meatball Mixture: In a large mixing bowl, add the ground beef, breaking it up loosely with your hands. Add the rice, onion, egg, garlic powder, salt, pepper, and Worcestershire sauce. Mix gently until combined.
- Shape the Meatballs: Scoop about 2 tablespoons of the mixture per meatball and roll into a smooth ball. Aim for uniform size for even cooking.
- Make the Tomato Sauce: Combine tomato sauce, condensed tomato soup, and water or beef broth in a large skillet. Stir until smooth, then add sugar, onion powder, and Italian seasoning. Season to taste.
- Brown the Meatballs (Optional But Recommended): Heat oil in a pan and brown the meatballs for about 2 minutes per side to develop flavor.
- Simmer Low and Slow: Arrange meatballs in the sauce, bring to a gentle boil, then reduce heat to low. Cover and simmer for 45-55 minutes.
- Check for Doneness: Cut a meatball in half to ensure rice is tender and meat is fully cooked. If necessary, continue simmering for 10 additional minutes.
- Rest and Serve: Let the meatballs rest in the sauce for 5 minutes before serving. Pair with mashed potatoes, egg noodles, or crusty bread.



