Porcupine Meatballs
This post may contain affiliate links. Please read my disclosure policy.
Porcupine Meatballs – tender beef meatballs with rice “quills,” baked in tomato sauce until saucy, cozy, and totally nostalgic.

Meatballs With a Side of Nostalgia (and Sauce)
Let’s just be honest, these are not the elegant, dainty meatballs you serve at a fancy dinner party. These are the meatballs you make when you want to eat something warm, saucy, and deeply comforting while wearing fuzzy socks and ignoring your inbox.
I got this recipe years ago from a lovely reader named Laura (thank you, Laura!), and I’ve been making them ever since. The rice puffs out like little spikes as they bake, hence the name. They look ridiculous and adorable and taste amazing.
And yes, you can serve them over mashed potatoes like I do, or scoop them straight out of the casserole dish like no one’s watching. No judgment here.

Why You’ll Love These Porcupine Meatballs
- Nostalgic as heck. Feels like something your mom or grandma made, but better (sorry, Mom).
- That rice trick? Genius. It cooks right in the meatballs, soaking up all the saucy goodness.
- One dish wonder. Everything bakes in the same pan, meatballs, sauce, magic.
- Freezer-friendly comfort food. Make a double batch and thank yourself later.
- Kid-approved, grown-up obsessed. Weird name, delicious results. Everyone wins.

In a big bowl, toss in your ground beef, chopped onion, spices, baking powder, uncooked rice, and milk. Get in there with your hands and mix it gently, no over-mashing or you’ll end up with dense meatballs.

Wet your hands (trust me), and roll the mixture into about 30 medium meatballs. Or grab your cookie scoop if you’re feeling efficient. Place them in a greased 9×13-inch baking dish.

Place the meatballs in a greased 9×13-inch baking dish. Whisk together the condensed tomato soup and water. Pour it all over the meatballs, don’t be shy, we want them swimming in that sauce.

Cover tightly with foil and bake at 350°F (175°C) for 35 minutes. Then remove the foil and bake another 30–35 minutes until those rice “quills” start poking out.

How To Serve
These meatballs are begging to be served over something creamy and cozy.
Mashed Potatoes
Easy Garlic Bread
Baked Mac And Cheese
Easy Coleslaw

Frequently Asked Questions
Can I use a different kind of meat?
Yes! Ground turkey or chicken work great if you want something lighter. Even plant-based meat alternatives will do the trick, just keep an eye on texture.
Can I prep these ahead of time?
Totally. You can mix and roll the meatballs a day in advance and store them in the fridge. When you’re ready to bake, just assemble and go.
Can I freeze them?
Yep, freeze fully cooked meatballs in the sauce, or freeze them raw (without sauce) in a single layer, then transfer to a bag. Either way, they’ll keep for up to 3 months.
How do I reheat leftovers?
Microwave works if you’re in a rush, but for best texture, reheat gently on the stovetop with a splash of water or extra sauce. Or pop them in the oven at 350°F (175°C) until warmed through.
Can I cook these in a slow cooker or Instant Pot instead?
Sure can. For the slow cooker, layer the meatballs and sauce, then cook on low for 6–7 hours or high for 3–4. For the Instant Pot, brown the meatballs first (optional), add the sauce, then pressure cook on high for 15 minutes with a 10-minute natural release.
Why is it called ‘porcupine’ meatballs?
Because the rice sticks out like little spikes when they’re done baking, adorable, right? Retro recipes knew how to have fun.

More Delicious Meatballs
- Swedish Meatballs
- Salisbury Steak Meatballs
- Chimichurri Meatballs
- Philly Cheese steak Meatballs
- Sweet Potato Turkey Meatballs
- Firecracker Chicken Meatballs
Before You Begin! If you make this, please leave a review and rating letting us know how you liked this recipe! This helps our business thrive & continue providing free recipes.

Porcupine Meatballs
Video
Ingredients
For Meatballs
- 1¾ pounds ground beef (extra lean)
- 1 medium onion (finely chopped)
- ½ teaspoon poultry seasoning
- 1 pinch ground cloves
- ½ teaspoon thyme (dried)
- 1 teaspoon baking powder
- 2 teaspoon salt
- ½ teaspoon pepper
- ½ cup long-grain rice (uncooked )
- 1 cup milk
- 2 tablespoons olive oil
- 2 cans condensed tomato soup ((10.75 oz cans))
- 2 cans water ((use soup can to measure))
- 2 tablespoons parsley (finely chopped)
Before You Begin! If you make this, please leave a review and rating letting us know how you liked this recipe! This helps our business thrive & continue providing free recipes.
Instructions
- Preheat your oven to 350°F (175°C).
- In a large bowl add the meatball ingredients, and mix well using your clean hands. The mixture will be quite soft and loose, but they will cook into firm meatballs.
- Wet your hands and form the mixture into medium size meatballs. You should end up with about 30 meatballs. Drizzle the olive oil in a 9×13 inch casserole dish then place the meatballs in the dish.
- In another large bowl mix the soup and water together, then pour over the meatballs. Sprinkle with chopped parsley and cover with aluminum foil.
- Bake covered for 35 minutes then remove the foil and cook for another 30-35 minutes, or until the rice pokes through the meatballs.
- Serve with mashed potatoes and enjoy!
Notes
- To make it easier to shape the meatballs you could use a small cookie scoop, this will also ensure all your meatballs are the same size.
- Rinse the long-grain rice thoroughly to remove excess starch, ensuring your meatballs develop those signature porcupine spikes beautifully.
- No tomato soup? Use a thick marinara or homemade tomato sauce instead.
- Recipe should yield about 30 meatballs.
- Nutritional information is based on 5 meatballs per serving.
- These meatballs freeze well right in the sauce, in an airtight container.
Nutrition Information
Notice: Nutrition is auto-calculated for your convenience. Where relevant, we recommend using your own nutrition calculations.




