Old-fashioned comfort food that never goes out of style.
There’s just something special about recipes that have stood the test of time—and porcupine meatballs are one of those feel-good dishes that bring back memories of home-cooked meals, family dinners, and second helpings without hesitation.

This quirky name comes from the way the rice pokes out of the meatballs as they simmer, making them look a bit like porcupines. But there’s nothing spiky about the flavor—these meatballs are juicy, tender, and absolutely packed with comforting, savory goodness. They’re simmered low and slow in a rich tomato sauce until the rice is perfectly cooked and the meat is melt-in-your-mouth delicious.
Whether you’re feeding a crowd or just craving something nostalgic and satisfying, porcupine meatballs are a cozy classic you’ll want to make again and again.
What Are Porcupine Meatballs?
Porcupine meatballs are a Depression-era dish, known for stretching ingredients into something hearty and filling. They’re made with ground beef, uncooked rice, onion, garlic, and seasonings—shaped into meatballs and then simmered in a simple tomato-based sauce. As they cook, the rice swells and pokes out of the meatballs, giving them their signature “porcupine” appearance.
They’re affordable, foolproof, and kid-approved. And they pair perfectly with just about any side dish you love.
Ingredients You’ll Need
Here’s everything you’ll need to make a batch of old-fashioned porcupine meatballs:
For the Meatballs:
- Ground beef – I prefer 80/20 for flavor, but you can use leaner meat if you like.
- Uncooked white rice – Instant rice is more reliable, but long-grain works with extra simmer time.
- Onion – Finely chopped for flavor and moisture.
- Garlic – Because every good meatball needs garlic.
- Ketchup – Adds tang and sweetness.
- Egg – Binds everything together.
- Seasonings – Salt, pepper, garlic powder, celery salt, and Italian seasoning.
For the Sauce:
- Condensed tomato soup – That retro richness everyone recognizes.
- Worcestershire sauce – Adds a savory kick.
- Water – To thin the soup into a pourable sauce.
Optional Additions:
- Shredded cheddar cheese – For a melted, gooey topping.
- Chopped parsley – For a fresh pop of color at the end.
How to Make Porcupine Meatballs
These meatballs are easy to prepare and can be cooked on the stove, in the oven, or even in your slow cooker. Here’s the stovetop version I grew up with:
Step-by-Step Instructions:
- Mix the meatball ingredients: In a large bowl, combine ground beef, rice, onion, garlic, ketchup, egg, and all your seasonings. Mix gently with clean hands until just combined.
- Form the meatballs: Roll into roughly 1½-inch balls. You should get about 20 meatballs total. Using an ice cream scoop helps ensure even size.
- Arrange in your pan: Place meatballs in a large, deep skillet or Dutch oven in a single layer.
- Make the sauce: In a small bowl, stir together the condensed tomato soup, Worcestershire sauce, and water.
- Pour sauce over meatballs: Make sure they’re mostly covered. Cover the pan with a lid.
- Simmer gently: Bring to a simmer over medium heat. Cover and cook for 15 minutes, then gently turn the meatballs with a spoon. Cover again and simmer for another 25–30 minutes, or until rice is tender and meat is fully cooked through.
- Serve and enjoy: Spoon extra sauce over the top and sprinkle with parsley or cheese if using.
Oven-Baked Option
Want to use the oven instead? Easy:
- Preheat oven to 350°F and grease a 9×13 baking dish.
- Place the meatballs in the dish and pour the sauce over the top.
- Cover tightly with foil and bake for 30 minutes.
- Remove foil and bake for another 30 minutes, or until meatballs are cooked through and the sauce is bubbly.
Slow Cooker Version
This is a great “set it and forget it” option:
- Prepare the meatballs as usual.
- Place them in the slow cooker and pour the sauce over the top.
- Cook on LOW for 4–6 hours or on HIGH for 3–4 hours, until the meatballs and rice are fully cooked.
Creamy Variation
Not in the mood for tomato-based sauce? Try a creamy version instead:
- 1 can cream of mushroom soup
- ½ cup sour cream
- ½ cup milk
- 8 oz low-sodium beef broth
- ½ tsp onion powder
- ½ tsp garlic powder
Whisk it all together, pour over the meatballs, and cook just as you would the tomato version. It’s rich, velvety, and totally satisfying.
What to Serve with Porcupine Meatballs
These meatballs are super versatile. Serve them with:
- Mashed potatoes
- Buttered egg noodles
- White or brown rice (yes, even though they’re in the meatballs!)
- Steamed green beans or broccoli
- Garlic bread or biscuits
- A simple garden salad to balance things out
Storage & Freezing
- Store: Keep leftovers in an airtight container in the fridge for up to 4 days.
- Freeze: Freeze cooked meatballs and sauce for up to 3 months. Thaw in the fridge overnight, then reheat gently on the stove or in the microwave.
- Make-ahead: You can shape the meatballs ahead of time and freeze them raw. Just thaw overnight before cooking.
Tips for Success
- Don’t make the meatballs too big. If they’re too large, the rice inside won’t cook all the way.
- Avoid overmixing the meat. This can lead to tough meatballs.
- Let them simmer low and slow. It helps the rice cook evenly and gives the flavors time to blend.
- Want more sauce? Double the sauce recipe and save some for spooning over mashed potatoes or rice.

Porcupine Meatballs
Classic beef and rice meatballs in tomato sauce
Prep Time: 10 minutes
Cook Time: 40 minutes
Total Time: 50 minutes
Servings: 4–6
Ingredients
Meatballs:
- 1 lb ground beef (80/20)
- ½ cup uncooked white rice
- 1/4 cup ketchup
- 1/3 cup onion, finely chopped
- 1 clove garlic, minced
- 1 egg, lightly beaten
- ¼ tsp celery salt
- 1 tsp salt
- ¼ tsp black pepper
- 1 tsp Italian seasoning
- ½ tsp garlic powder
Sauce:
- 1 can (10.75 oz) condensed tomato soup
- 2 tsp Worcestershire sauce
- 1 cup water
Optional Topping:
- 1½ cups shredded cheddar cheese
- Chopped parsley
Instructions
- Combine all meatball ingredients in a large bowl. Mix gently.
- Roll into 1½-inch balls (about 20 meatballs).
- Place meatballs in a skillet or baking dish.
- Stir together tomato soup, Worcestershire sauce, and water. Pour over meatballs.
- Cover and simmer on the stove for 40–45 minutes, or bake covered for 60 minutes (removing foil halfway).
- Top with cheese or parsley if desired and serve hot.
These porcupine meatballs are the kind of recipe that brings everyone to the table. They’re unfussy, filling, and taste like something your grandma might have made on a busy weeknight—and sometimes, that’s exactly what you need.