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! They're paired with a simple tomato sauce that's savory and flavorful with just a few pantry seasonings.
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, which is actually pretty charming for a name. Basically, they're a fun recipe that the kids will enjoy as well. For how few ingredients you need to make them, these easy meatballs are a weeknight winner any time of the year.
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 this porcupine meatball recipe? Let me know in the comments below! I'd love it if you left a review.

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.
- Meatballs are safe to eat at 160F internal temperature.
- 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.
Ran says
I made it with turkey and with jarred sauce.I made sure I had a good seal and it came out great. It was considered a keeper in my house!
Miranda @ Salt & Lavender says
That's awesome! Thanks so much for taking the time to read the blog post tips about getting a good seal. Really appreciate your 5-star review, Ran. 🙂
Clay Crocker says
I didn't have any tomatoe sauce but I did have a can chicken tortellini soup. I strained it and added sazon as my broth and also no worcestershire sauce so I added Knorr liquid seasoning. Work with what you got.
Karen says
I made these all the time when my daughter was little, but I have always made them with tomato soup and just seasoned the soup. I have never had an issue with the rice not being cooked enough.
Rebekah says
Could this be made using spaghetti sauce instead? Would it provide enough liquid?
Natasha says
Hi! I think that should be ok, but if in doubt, you could add a little water to thin it a bit.
Shirley Ashworth says
I always use minute rice and cook it before I put it in the porcupines that way I’m sure that the rice is done
Sasha says
Flavour is so good! But like a few others mine have been in the over for 1.5 hours and the rice is still rock hard. It is sealed with two layers of tin foil and i put a cookie sheet ontop! So going to make the most of my crunchy meatballs and serve with spaghetti squash! I will attempt again 👍🏻
Natasha says
Hi Sasha!! Ahh I am so perplexed as to why this happens for some people. What cookware are you using? Like what kind of casserole dish are you using out of curiosity. I really want to troubleshoot what is happening with some people so everyone can have success with it. And what kind of rice? White rice shouldn't take so long...
Julie says
I made these tonight exactly as written and they turned out perfectly! So tasty and easy to make. I used long grain white rice and lean ground beef. I served them with mashed potatoes and it was a great comfort meal for this Canadian Thanksgiving Monday. Thanks so much for the recipe!
Natasha says
That's fantastic!! I'm so happy you enjoyed them, Julie! Happy Thanksgiving (I'm Canadian too). Appreciate your review!
Stormey says
Made this for the first time ever. It was so flavorful. My husband and I both loved it. Thanks for sharing this recipe.
Miranda @ Salt & Lavender says
You're welcome, Stormey!! We're so happy the both of you enjoyed it! 🙂
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?