These porcupine meatballs use everyday ingredients, come together fast, freeze well, and are great for making ahead!
Can't get enough hassle-free meatball recipes? Try these Grape Jelly Meatballs next.

Why you'll love them
These old fashioned porcupine meatballs were designed to help stretch your dollar by making meat go further. The best part might be how are hands-off they are once you get them in the oven since there's absolutely no messy frying involved!
Ok, so why are they called porcupine meatballs, anyway? It's because the rice cooks and sticks out so they look a bit like porcupines. That's about it. Basically, they're a fun recipe that the kids will enjoy as well.
Ingredients you'll need
For the meatballs
- Lean ground beef - the meatballs are cooked right in the sauce, and you don't want the sauce to be too oily, so we like 90% lean
- Long grain white rice - jasmine, basmati, or generically labeled "long grain white rice" is what you're looking for
- Egg - binds the meatballs so they don't fall apart
- Seasonings - chopped onion, minced garlic, dried Italian seasoning, salt & pepper make up the tasty flavorings
For the sauce
- Canned tomato sauce - for my UK/Australian readers, tomato sauce here in North America is similar to passata
- Chicken broth - it helps thin the sauce and infuse flavor
- Worcestershire sauce and garlic powder - to level up the savory flavor even more!
- Brown sugar - takes the acidic edge off the canned tomatoes to balance everything out
Pro tip that you shouldn't skip over!
- The key to this recipe is getting a really tight seal on the foil. I cannot emphasize this enough. You can also use the lid your baking dish came with. This ensures that the rice cooks properly in the baking dish. Basically, it means the heat gets trapped and circulates right in the dish and doesn't escape.
How to make porcupine meatballs
This is an overview with step-by-step photos. Full ingredients & instructions are in the recipe card below.

Add meatball ingredients to a large bowl. Gently combine the meat mixture with your hands without overworking it.

Form into meatballs that are 1.5" and place into a 9x13" baking dish, evenly spaced out. Add all sauce ingredients to a mixing bowl and stir well.

Pour the sauce directly onto the meatballs in the baking dish. Cover with foil tightly and bake until the rice is fully cooked and they're tender!
Stovetop method
- In a pot/Dutch oven, brown the meatballs in batches. Use about a tablespoon of olive oil for each batch. Transfer them to a plate.
- Sauté the onion for about 5 minutes, then add in the garlic, tomato sauce, and chicken broth.
- Add the meatballs back to the pot, and cook over a low heat until they're cooked through, about 45 minutes.
Substitutions and variations
- You can swap the ground beef for ground pork or ground turkey if you prefer.
- Change the flavors up a bit by replacing the salt with seasoned salt or another salty seasoning such as Cajun seasoning such as Tony Chachere's Original.
- If using brown rice, the meatballs may take up to 2 hours to cook, and you may need to add a little more liquid to the sauce partway through baking. Or pre-cook it before adding it into the meatballs.
What to serve with this recipe
- Since they contain rice, they're delicious served with vegetables. Try a bed of wilted spinach or these Easy Glazed Carrots.
- You could, of course, serve them with mashed potatoes, though!
- I like them paired with a simple side salad as well. This Olive Garden Salad Dressing is one of our favorites.
Leftovers and storage
- These meatballs will last in the fridge for 4-5 days in a covered container.
- You can reheat them in a small saucepan over a low heat until warmed through, or the microwave works too.
- They can be frozen for up to 3 months. Simply store in desired size portions in airtight containers and reheat when ready. You can thaw overnight if you'd like.
More delicious meatball recipes to try

Questions about these porcupine meatballs? Let me know in the comments below!

Easy Baked Porcupine Meatballs
Ingredients
Meatballs:
- 1 pound lean ground beef
- 1/2 cup uncooked long grain white rice
- 1 egg
- 1/2 medium onion chopped
- 3 cloves garlic minced
- 1/2 teaspoon Italian seasoning
- 1/2 teaspoon salt
- Pepper to taste
Sauce:
- 2 (14 fluid ounce) cans tomato sauce
- 1 cup chicken broth
- 1 tablespoon Worcestershire sauce
- 1/2 teaspoon garlic powder
- 1 teaspoon (packed) brown sugar
Instructions
- Preheat your oven to 350F and move the rack to the middle position.
- Add the meatball ingredients to a large prep bowl and mix together with your hands. Form approximately 20 1.5" meatballs and add them as you go along to a 9x13 baking dish.
- Add the sauce ingredients to a medium bowl and stir together. Pour the sauce over the meatballs.
- Cover the baking dish and bake for 1 hour. Make sure the foil/seal is tight or the rice won't cook properly. If you find the rice isn't cooked after an hour, simply pop it back in the oven until the rice has softened.
Notes
- The sugar helps take the acidic edge off the canned tomato sauce - it's optional but recommended.
- I don't necessarily recommend using brown rice since it takes longer to cook (up to 2 hours and you may need to add more liquid to the sauce). You could pre-cook the brown rice and then add it into to the meatballs.
- Feeds 4-6.
- Nutritional information is provided as a courtesy only and should be construed as an estimate rather than a guarantee. Ingredients can vary and Salt & Lavender makes no guarantees to the accuracy of this information.
Cassidy says
Great sauce flavor! I used basmati as stated and the rice was HARD. Followed the recipe as stated. Maybe minute rice would have been better?
Natasha says
Hi! Did you seal it up properly? Another reader had a similar issue and she didn't seal the foil tightly enough. I haven't encountered the issue. I feel minute rice would go mushy really fast, but you could definitely give it a go. I'm going to update the recipe card to make it clear that it needs to be a really tight seal and/or more time needed if you check and it's not yet done.
Charlee says
I cooked mine for an hour and a half. I don’t have a thermometer. Is it easy to get food poisoning from the beef? I tried to make sure it wasn’t too pink. but it did cook for longer.
Natasha says
Hi! I think if you cooked yours for an hour and a half, it's doubtful that they'd not be cooked (in fact, they're probably overdone). I do recommend ordering a meat thermometer for your own peace of mind, though! You can get them for less than $20. 🙂
Adina says
Can you make these meatballs the night before and keep in the fridge?
Natasha says
I think that should be fine.
Cleo Lazaridis says
I figured it out! the foil didn't make a good enough seal. I decided to put it back in and use the lid my Casserole dish came with. After 30 minutes it was was simmering perfectly and came out perfect! Very tasty, love the recipe and will be making this often. Thanks!!
Natasha says
Oh good! That's a relief!! I'm so glad it was fixable. 🙂
Cleo Lazaridis says
flavor was great but the rice wasn't even beginning to cook. What did I do wrong? I followed the directions to the letter.
Thanks
Natasha says
Hi! Hmm that is very odd. The rice was very soft in my tests. Just throwing a few ideas out here... did you use long grain white rice? If you used brown rice, for example, it could take up to 2 hours to cook. Did you cover the baking dish with foil and bake it for a full hour at 350F?