This post may contain affiliate links. Please read our disclosure policy.
Porcupine meatballs are one of those old-fashioned comfort food dinners that never go out of style. Made with ground beef, rice, and a simple tomato sauce, these old-fashioned porcupine meatballs are hearty, budget-friendly, and easy to make with pantry staples.
As they cook, the rice pokes out of the meatballs just enough to give them that classic “porcupine” look. There’s no need to brown the meatballs first—everything cooks together in one pan, which keeps the process simple and the sauce extra flavorful.
My mom used to make these when she had PTA meetings or Girl Scout leader nights, and my sisters and I were always so happy when porcupine meatballs were on the menu. They still remind me of those simple family dinners that brought everyone to the table fast.
If you love easy ground beef dinners like this, browse my full collection of ground beef recipes, or try Italian baked meatballs, grape jelly meatballs , or crockpot Mississippi meatballs next
What Are Porcupine Meatballs?
Porcupine meatballs are an old-fashioned comfort food made with ground beef and rice. As they cook, the rice expands and sticks out of the meatballs, giving them their signature “porcupine” look. They’re typically simmered or baked in a tomato-based sauce, making them hearty, simple, and budget-friendly.
✨ Before You Begin
✨ Use the right rice: This recipe works best with Minute Rice (instant rice). It cooks more reliably inside the meatballs than traditional long-grain rice, which can sometimes stay firm.
✨ Keep the meatballs small: This is critical. If they’re too large, the rice won’t cook all the way through. You should end up with about 20 evenly sized meatballs.
✨ Finely chop the onion: Large chunks can make the meatballs fall apart. A fine chop helps everything hold together and cook evenly.
✨ No need to brown first: Traditional recipes call for browning the meatballs, but you can skip it. It saves time and the extra fat adds flavor to the sauce.
✨ Keep the pan covered: The trapped heat and steam are what cook the rice inside the meatballs. Don’t lift the lid too often.
Porcupine Meatballs Ingredients + Key Notes
Meatballs
Ground Beef: I use 80/20 for the best flavor and tenderness. Leaner beef (90/10) works, but the meatballs won’t be quite as rich. You can substitute ground turkey, but it tends to be softer—add about 1 cup of soft breadcrumbs to help them hold together.
Rice: This is what makes porcupine meatballs unique! I recommend Minute Rice (instant rice) for the most reliable results. Traditional recipes use uncooked long-grain rice, but instant rice cooks more evenly inside the meatballs.
Ketchup: Adds a touch of sweetness and boosts the tomato flavor.
Onion: Use a yellow onion and finely chop it so it blends smoothly into the meatballs.
Garlic: Fresh garlic gives the best flavor here—don’t skip it.
Egg: Helps bind everything together.
Celery Salt: Adds a subtle savory depth that makes these taste “old-fashioned.”
Salt + Black Pepper: Essential for balanced flavor.
Italian Seasoning: Adds a light herb flavor that complements the tomato sauce.
Garlic Powder: Reinforces the garlic flavor without overpowering.
Sauce
Condensed Tomato Soup: This is what gives these porcupine meatballs their classic, retro flavor.
Worcestershire Sauce: Adds richness and depth to the sauce.
Water: Thins the soup into a smooth, saucy consistency (about 1 cup).
Optional Toppings
Cheese: Sharp cheddar melts beautifully over the top.
🥣 How To Make Porcupine Meatballs
This is one of those simple, old-fashioned recipes where everything comes together in one pan. Once the meatballs are shaped, the sauce and steam do most of the work—cooking the rice right inside for a tender, hearty result.
Mix and shape the meatballs: In a large bowl, combine all of the meatball ingredients and mix gently just until combined. Roll into small, evenly sized meatballs (about 1 1/2 inches) so the rice cooks through properly.
Add the sauce: Arrange the meatballs in a skillet or baking dish in a single layer. In a separate bowl, whisk together the sauce ingredients, then pour it evenly over the top.
Cover and cook: Cover tightly and cook until the meatballs are tender and the rice is fully cooked. The rice will puff up and peek out, giving that classic “porcupine” look.
⭐ Pro Tips Porcupine Meatballs
⭐ Mix gently for tender meatballs: Overmixing the meat mixture can make the meatballs dense. Mix just until everything is combined.
⭐ Shape firmly, not loosely: While you want to mix gently, press the meatballs together firmly when shaping so they hold their structure as they cook.
⭐ Keep everything in a single layer: Crowding the pan can cause uneven cooking. Make sure the meatballs have a little space so the heat circulates properly.
⭐ Taste and adjust the sauce: If you like a slightly richer flavor, add a splash of Worcestershire or a pinch of salt after cooking.
⭐ Add cheese at the end for a cozy finish: If using cheddar, sprinkle it on during the last few minutes of cooking so it melts without overcooking.
What to Serve With
These old-fashioned porcupine meatballs are hearty and comforting on their own, but I love pairing them with simple sides that round out the meal without overpowering those cozy flavors.
Fresh + Crisp Sides
A bright, refreshing side like a house salad or cucumber tomato salad helps balance the richness of the meatballs and sauce.
Comforting Potatoes
Serve them over creamy mashed potatoes or with buttered noodles—both are perfect for soaking up that savory tomato sauce.
Cozy Breads
Warm, fluffy quick dinner rolls or garlic bread are perfect for scooping up the extra sauce—nothing goes to waste.
Sweet Finishes
Keep the nostalgic feel going with a slice of chocolate pudding pie or banana pudding for dessert.
Storing + Reheating + Freezing + Make-Ahead Tips
Storing
Store leftover porcupine meatballs in an airtight container in the refrigerator for up to 3–4 days. The flavors deepen as they sit, making leftovers just as comforting the next day.
Reheating
Warm gently so the meatballs stay tender and the rice doesn’t dry out. For best results, reheat in a covered skillet over low heat with a splash of water or extra sauce. For larger portions, cover with foil and reheat in a 350°F oven for 15–20 minutes.
Freezing
These meatballs freeze well. Let them cool completely, then store in a freezer-safe container with the sauce for up to 2–3 months. Thaw overnight in the refrigerator before reheating.
Make-Ahead
You can mix and shape the meatballs up to 24 hours in advance and store them covered in the refrigerator. When ready to cook, add the sauce and proceed as directed.
Frequently Asked Questions
◆ Do you cook the rice before adding it to porcupine meatballs?
No—this recipe uses uncooked rice. It cooks right inside the meatballs as they bake or simmer, which gives them their unique texture.
◆ Why are my porcupine meatballs crunchy inside?
This usually means the rice didn’t fully cook. Make sure the meatballs are small, the pan is tightly covered, and there’s enough liquid to properly steam the rice.
◆ Can you use Minute Rice for porcupine meatballs?
Yes—and it’s actually my preferred option. Minute Rice cooks more reliably inside the meatballs and helps prevent undercooked centers.
◆ Are porcupine meatballs made with tomato sauce or gravy?
Traditionally, they’re made with a tomato-based sauce, often using condensed tomato soup. Some versions use brown gravy, but the tomato version is the most common old-fashioned style.
More Ground Beef Dinner Ideas
Meatball Stew — cozy, hearty, and packed with rich gravy, this is a great pick if you love old-fashioned comfort food dinners.
Stuffed Peppers — another classic ground beef dinner made with simple ingredients and plenty of family-dinner appeal.
Taco Rice — easy, comforting, and full of flavor, this one is perfect for busy nights when you want something quick and satisfying.
Mexican Spaghetti — a bold, cheesy twist on spaghetti night that still fits right into your easy ground beef dinner rotation.
Million Dollar Spaghetti — creamy, cheesy, and baked until bubbly, this is one of those crowd-pleasing dinners everyone gets excited about.
Dorito Casserole — a fun, family-friendly ground beef casserole that’s cheesy, hearty, and always a hit.
Tried This Recipe?
If you made these old-fashioned porcupine meatballs, I’d love to hear how they turned out! Please leave a ⭐⭐⭐⭐⭐ rating and a quick comment below—it helps other readers and means so much to me.
Love recipes like this one? Don’t miss the next! Sign up for my FREE newsletter and get family favorites delivered weekly. 💌
Thanks for stopping by my kitchen today — happy cooking, friends! ❤️ Kathleen
Porcupine Meatballs
Ingredients
- 1 pound ground beef
- 1/2 cup white rice - uncooked
- 1/4 cup ketchup
- 1/3 cup onion finely chopped
- 1 clove fresh garlic, minced
- 1 large egg lightly beaten
- 1/4 teaspoon celery salt
- 1 teaspoon salt
- 1/4 teaspoon black pepper
- 1 teaspoon dried Italian seasoning
- 1/2 teaspoon garlic powder
Sauce:
- 1 (10.75 ounce) can condensed cream of tomato soup
- 2 teaspoons Worcestershire sauce
- 1 cup water
Optional
- 1 1/2 cups cheddar cheese shredded
- 1-2 tablespoon flat-leaf parsley chopped
Instructions
- In a large mixing bowl, combine all the ingredients for the meatballs and mix together well with clean hands.
- Roll into 20, 1 1/2 inch meatballs. Place meatballs in a large skillet.
- In a small mixing bowl, combine the ingredients for the sauce. Pour into skillet over meatballs. Bring sauce to a boil over medium heat and reduce heat and gently simmer for 15 minutes, covered. Very gently, turn meatballs and continue to cook 25 minutes longer, or until meat and rice are cooked through.
Fans Also Made:
Video
Notes
- Size and Forming: Look, I love giant meatballs. I absolutely love them. Nothing makes me happier than sitting down to a plate of 2 or 3 giant meatballs—you know the size I’m talking about. But with this recipe, it’s imperative that you avoid making the meatballs too large. Reign in that urge for giant meatballs! The rice will not cook if the meatballs are too big, and crunchy rice is not what we’re going for in this recipe. This recipe should yield about 20 meatballs—if you have fewer than that, then you know you aren’t making them the right size.
- In order to get a consistent size, I recommend using an ice cream scoop to form the meatballs. This is a great tool that turns out meatballs at the perfect diameter to cook the rice thoroughly.
- No Browning: The original recipe calls for you to brown the meatballs before adding them to the sauce. When my mom started making these meatballs, many decades ago, she says that she followed the recipe exactly and browned them, just as instructed. Somewhere along the way, she found that she could skip the browning step and make her prep time quicker and easier—plus, skipping the browning meant that there wasn’t any splatter over the cooktop, and left her with less to clean up. I follow my mom’s lead and skip the browning.
- If you choose to skip the browning, here’s something you need to be aware of: the fat from the meatballs doesn’t get drained off. Instead, it sticks around in the sauce. Frankly, I consider that a good thing—that little bit of fat adds a whole lot of delicious flavor and makes this recipe even better in my opinion.
- Cover While Cooking: Make sure you keep the skillet tightly covered while the meatballs are cooking. This will help ensure all the available heat is being used to cook the rice.
Nutrition
On your phone? Check out my web story here.












I tried making the porcupine meatballs last night, and they were a hit! The flavors were so delicious, and my whole family loved them. Thanks for sharing such an easy and tasty recipe!
Hi! We’re so happy it was a hit! Thanks for the positive feedback and 5-star rating!
This porcupine meatballs recipe is such a fun twist on a classic! I love how easy it is to make and the flavor combinations sound delicious. Can’t wait to try it for dinner this week!
Thank you and we hope you like this as much as we do 🙂
This porcupine meatballs recipe looks amazing! I love how simple and delicious it is. Can’t wait to try it for dinner this week! Thanks for sharing!
Thank you! Enjoy 🙂
I never thought of making porcupine meatballs before, but this recipe looks so simple and delicious! Can’t wait to try it out for dinner this week. Thanks for sharing!
Enjoy! This is so good, I hope you’ll like this as much as we do. Let us know how it turns out 🙂
These porcupine meatballs sound absolutely delicious and so easy to make! I love the idea of using rice in the mixture. Can’t wait to try this recipe for a quick weeknight dinner. Thanks for sharing!
Yaaay! Enjoy and let us know how it turns out 🙂
This recipie is amazing. Using a cookie scooper worked wonderfully, all the meatballs were cooked through and rice was perfectly done in less time than suggested to cook for me. This recipie is exactly how my mom made them when I was a child and I wa never able to get the recipie so it made me so happy to make this for my children and it was a hit! Definitely putting this in my dinner rotation, thanks for sharing this.
Crystal, that’s so awesome! I’m so happy it was a hit and this recipe was like you mom used to make 🙂 I’m glad you enjoyed!
My mum was a school meals cook and these meatballs were regularly on the menu. She continued to make them at home for us and I still make them today for my family. This recipe is spot on. Serve with mash, peas and lashings of that lovely tomatoey sauce. Real comfort food 😁
Hi, Jacquie! Your mom is awesome 🙂
Those are the perfect side dishes for this recipe. Thanks and I’m happy you like these meatballs!
Do you use minute rice?
Yes, I do. 🙂
Loved it , I browned them before I put them in the sauce. I would have given 5 stars but I could have used more These are very good though, I’ll make them again!
Thank you so much, Cheryl! I appreciate your positive review 🙂
Can you give specifics for the cream of mush version?
Hi Chloe! Hoping to post a new recipe of that very soon! <3
How long should this cook in a crockpot?
Hi Linda. Cover and cook on low for 4-6 hours or high for 3-4 hours. Enjoy 🙂
Just like my mom used to make! I was in the mood for a bit of nostalgia and these hit the spot! I made them in the instant pot since my mom always made hers in the pressure cooker. The flavors were absolutely perfect! Thanks for a great trip down memory lane 🙂 :O)
You are so welcome Andy. Great idea to make them in the Instant Pot!! <3 <3
My mom has also cooked these since we were little. As the years went by, we started cooking the rice ahead of time so the meatballs weren’t nearly as dried out. We also use large chunks of green pepper in the tomato soup sauce for the yummiest of flavors, and discard before we serve them. We serve the porcupines with mashed potatoes and corn. Those tastes together are out of this world!
Lori, That sounds like a heavenly combo! <3
What do you typically serve with these?
Hi Marianne. I love to serve them over rice. Yes, they have rice in them, but they’re still really great over simply cooked white or brown rice 🙂
My mum made it with Beef and Veg soup, boy that brings me back
Hey Brian. It brings back lots of memories for me, too. 🙂
These look delicious!!!
Thank you Lindsey 🙂
Thank you for this week night dinner recipe. Will come for more 🙂 Have a pleasant day !