This post may contain affiliate links. Please read our disclosure policy.

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.

baking dish on marble surface with several porcupine meatballs in sauce

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.
  • Are you at a high altitude? You may need to increase bake time.

How to make porcupine meatballs

This is an overview with step-by-step photos. Full ingredients & instructions are in the recipe card below.

glass mixing bowls with ingredients for porcupine meatballs

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

porcupine meatballs on a baking tray next to a glass bowl with sauce

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

porcupine meatballs on a tray before and after baking

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

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.
close-up of a meatball on a spoon with a baking dish full of baked porcupine meatballs in the background

Questions about this porcupine meatball recipe? Let me know in the comments below! I’d love it if you left a review.

baking dish on marble surface with several porcupine meatballs in sauce
4.70 from 10 votes

Easy Baked Porcupine Meatballs

These porcupine meatballs use everyday ingredients, come together fast, freeze well, and are great for making ahead!
Prep: 25 minutes
Cook: 1 hour
Total: 1 hour 25 minutes
Servings: 4



  • 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


  • 2 (14 ounce) cans tomato sauce
  • 1 cup chicken broth
  • 1 tablespoon Worcestershire sauce
  • 1/2 teaspoon garlic powder
  • 1 teaspoon (packed) brown sugar


  • 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 9×13 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.


  • 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.


Calories: 324kcal, Carbohydrates: 34g, Protein: 31g, Fat: 7g, Saturated Fat: 3g, Polyunsaturated Fat: 1g, Monounsaturated Fat: 3g, Trans Fat: 1g, Cholesterol: 111mg, Sodium: 1680mg, Potassium: 1210mg, Fiber: 4g, Sugar: 11g, Vitamin A: 928IU, Vitamin C: 20mg, Calcium: 69mg, Iron: 6mg

Nutrition information is automatically calculated, so should only be used as an approximation.

© Salt & Lavender Inc. Content and photographs are copyrighted. Sharing this blog post is much appreciated, but copying and pasting full recipes without authorization to social media is strictly prohibited.

Leave a star rating and comment below!

Hi! Iā€™m Natasha.

Salt & Lavender is a recipe blog with a focus on delicious comfort food using everyday ingredients. Beat the weekday grind with hundreds of easy-to-follow and hassle-free recipes!

The Salt & Lavender cookbook is here! Order Now

Leave a comment

Please leave a recipe rating!

Your email address will not be published. Required fields are marked *

Recipe Rating

This site uses Akismet to reduce spam. Learn how your comment data is processed.


  1. Val says:

    Can this be made in a slow cooker?

    1. Natasha says:

      Hi! I think you could, but I haven’t tested it any other way than the oven method so you’d have to experiment a bit with timing.

  2. Nancy says:

    Can you make these ahead of time

    1. Natasha says:

      You could freeze the uncooked meatballs and then thaw and bake when you’re ready. There’s tips in the blog post under “leftovers & storage” if you are talking about them being fully cooked and reheated.

  3. Merion Jacob says:

    Great recipe! Everyone loved it easy to make! Will be making extra next time to freeze for an easy meal. Thanks

    1. Natasha says:

      I’m so happy it was a hit, Merion! Thank you!

  4. susan says:

    Just wondering, if you use brown rice and cook it first, do you omit the chicken broth in the sauce mixture? TIA!

    1. Natasha says:

      Hi Susan! I haven’t tested that, but if you want a thicker sauce I think it would be fine omitting it or lessening it. Let me know how it goes! šŸ™‚

  5. Sherry says:

    I use to make this for my kids when they lived at home. Now I make it to get them to COME home. They love it and so do my grandkids! I added ketchup to the meat mixture and in the sauce. Also when I took the foil off, I put it under the broiler for a few minutes just to brown the tops bit. So delicious!

    1. Miranda @ Salt & Lavender says:

      Amazing!! So happy your kids enjoy it so much, Sherry! Really appreciate your review.

  6. Star says:

    5 stars
    Excellent recipe. Reminds me of my childhood. Thank you.

    1. Natasha says:

      You’re very welcome, Star!! šŸ˜€ Thanks for your review!

  7. Mindy Savage says:

    Love the recipe. How many meatballs is the nutritional information based on?

    1. Natasha says:

      Let’s see… serves 4 and 20 meatballs, so 20/4 = 5 meatballs and 1/4 of the sauce.

  8. Ran says:

    5 stars
    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!

    1. 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. šŸ™‚

  9. 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.

  10. 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.