Bomumo

Beef

Porcupine Meatballs

Bristling with rice quills, oven baked porcupine meatballs are hearty and unique. You'll love this old-fashioned recipe that adds uncooked rice to traditional meatballs.

Porcupine Meatballs

At a glance

What stands out: Bristling with rice quills, oven baked porcupine meatballs are hearty and unique. You’ll love this old-fashioned recipe that adds uncooked rice to traditional meatballs. Porcupine meatballs are a fun twist on classic meatballs, and they’re straightforward to mix.

How long it takes: 20 minutes prep, plus 1 hour, 15 minutes in the oven
Equipment you’ll need: Dutch oven or large baking dish
Servings: 4

Porcupine meatballs with rice poking out like quills, in a tomato sauce.

We'd say that porcupine meatballs rank right up there with Dutch baby pancakes when it comes to strange (some might say unfortunate) recipe names. Luckily, there are no spiky large rodents involved in this recipe, just rich, tender meatballs with “quills” of white rice.

Porcupine Meatballs

A standby kind of retro recipe. Porcupine meatballs are a recipe that’s loaded with nostalgia. There are many versions of it: on the stovetop, baked in the oven, in an Instant Pot, or slow cooked in a crockpot. We tested several methods and recipes to come up with the reliable porcupine meatball recipe.

Oven baked. We found that baking works a standby. You don’t have to brown the meatballs first. We especially like that the recipe is largely hands-off once you get the meatballs in the oven. (The stovetop does yield a thicker sauce, though, if that matters to you.)

Versatile. You can spoon the meatballs and sauce over spaghetti as you would with traditional spaghetti sauce but since the meatballs already contain rice, they can be simply paired with a vegetable or salad for a straightforward complete meal.

Porcupine meatball cut open to show filling.

Alicia Said:

“Great recipe! Very flavorful- definitely a keeper. We used 80/20 ground beef. So rich! Thanks for sharing.”

See More Reader Reviews

What goes in

  • Lean Ground Beef: We prefer to use lean 92/8 ground beef for these meatballs. We also tested it with 85/15 which works fine but the sauce is a bit greasier.
  • Uncooked White Rice: No need for anything fancy; save that for Instant Pot jasmine rice.
  • Onion: Use a cooking onion or yellow onion which has finer texture than a sweet onion. You want the onion to be very finely minced so it adds flavor throughout the porcupine meatballs without adding texture.
  • Milk: Milk is your Italian grandma’s secret to reliable meatballs. It adds richness and ensures that your meatballs are tender.
  • Seasonings: Fresh garlic, dried parsley, kosher salt, and ground black pepper.
  • Tomato Sauce: The base of the sauce is plain canned tomato sauce that you’ll doctor up with a few pantry ingredients.
  • Beef Broth: The broth will make the sauce look quite soupy at first, but it’s necessary for cooking the rice.
  • Brown Sugar: A bit of sugar cuts the acidity of the tomato sauce.
  • Worcestershire Sauce: An umami powerhouse, Worcestershire sauce adds lots of flavor.
  • Seasonings: Garlic powder, dried oregano, dried basil, and coarse ground black pepper are simple pantry ingredients.
Ingredients needed for meatballs.

How it comes together

Get ready. Preheat your oven to 350ºF and coat a Dutch oven or baking dish with nonstick cooking spray.

Mix meatball ingredients. In a large bowl, mix together all of the meatball ingredients until they’re well-combined. Don’t be squeamish—using your hands can make it easier!

Shape. Using your hands or a scoop, shape 1 ½ tablespoon portions of the meat mixture into meatballs.

Cooking Tip

The size of the meatballs matters in this recipe. We recommend that each meatball be made with roughly 1½ tablespoons of the meat-and-rice mixture (we use a scoop). More than that, the rice in the center won’t get fully cooked; less than that, you end up with small meatballs.

Make sauce. In a separate bowl, stir together the tomato sauce, broth, and seasonings.

Combine. Place the meatballs into the prepared pan. Pour the sauce on top. The sauce should nearly cover the meatballs at first (ideally, even more so than these photos).

Cover. If you’re using a Dutch oven, cover it with the lid. Baking dishes can be covered tightly with foil.

Bake. Bake the porcupine meatballs for 60 minutes, then uncover and continue baking for another 15 minutes to thicken the sauce. Serve immediately.

Stovetop Method

Heat 1 tablespoon oil in a large skillet set over medium-high heat. Brown the meatballs, then add the tomato sauce and bring to a simmer. Reduce the heat to low, cover, and cook for about 60 minutes, stirring occasionally, until the meatballs are cooked and the rice is tender.

Ways to serve it

Make Ahead Ideas

You can shape and refrigerate porcupine meatballs up to two days in advance to get a head start on this recipe. If you’d like, you can also mix the sauce and store that separately.

Keeping leftovers

Store leftovers in an airtight container in the refrigerator for up to 5 days. Reheat them with the sauce in the microwave or in a pan on the stovetop.

You can also freeze cooked porcupine meatballs in the sauce for up to 3 months. Thaw them in the refrigerator before reheating according to the instructions above.

Meal plan 69 preview image with photos of recipes included.

Free Meal Plan

Interested in a weekly meal plan that includes this recipe? Take a look at Meal Plan #69. You’ll find a wholesome recipe for each weekday plus a categorized grocery list.

Browse Meal Plans
  • Yield: 4
  • Prep: 20 minutes
  • Cook: 1 hour 15 minutes
  • Total: 1 hour 35 minutes

Ingredients

For the Meatballs:

  • 1 pound lean ground beef (we use 92/8)
  • ½ cup uncooked white rice
  • ¼ cup finely diced onion
  • ¼ cup milk
  • 1 clove garlic, minced
  • 1 teaspoon dried parsley
  • ½ teaspoon kosher salt
  • ¼ teaspoon coarse ground black pepper

For the Sauce:

  • 1 can (15 ounces) tomato sauce
  • 1 cup beef broth
  • 1 tablespoon brown sugar
  • 1 tablespoon Worcestershire sauce
  • ½ teaspoon garlic powder
  • ½ teaspoon dried oregano
  • ½ teaspoon dried basil
  • ¼ teaspoon coarse ground black pepper

Method

  1. Preheat oven to 350ºF and spray a Dutch oven or a 9 x 13 inch baking dish with nonstick cooking spray (see note below regarding pan size).
  2. In a large bowl, combine the ground beef, uncooked white rice, onion, milk, garlic, dried parsley, salt, and black pepper. Mix until all the ingredients are well combined.
  3. Using your hands or a scoop, shape the meat mixture into meatballs, each about 1 ½ tablespoons (see note), placing them into the pan in a single layer.
  4. In a separate bowl, combine the tomato sauce, broth, brown sugar, Worcestershire sauce, garlic powder, dried oregano, dried basil, and black pepper. Mix well.
  5. Pour sauce over meatballs. The sauce should nearly cover the meatballs. If using a Dutch oven, place lid on. If using a 9 x 13 inch pan, cover tightly with foil.
  6. Bake for 60 minutes. Uncover and continue baking for another 15 minutes to thicken sauce slightly.
  7. Serve immediately with sides of your choice.

Notes

Pan size: These work best in a Dutch oven or dish where the meatballs fit in a single layer with not too much space in between them. The sauce should nearly cover the meatballs at the beginning of the cook time. If you have a larger pan, leave the pan covered the whole baking time so the meatballs don’t dry out. If they seem like they are drying out, spoon some of the sauce on top of the meatballs.

Meatball size: Try not to make the meatballs larger than 1 ½ tablespoons. The rice in the center of the meatball may not cook completely in larger meatballs, and may remain crunchy. If you’re having trouble with this, towards the end of cook time, cut each meatball in half and continue to cook for 10 minutes to help the rice in the center cook. They won’t be as pretty, but it gets the job done in a pinch.

Stovetop method: In a large skillet (with a cover available), heat 1 tablespoon oil over medium-high heat. Add the meatballs and brown them on all sides, 1 to 3 minutes per side. Pour the tomato sauce mixture over the browned meatballs in the skillet. Bring to a simmer. Reduce heat to low, cover the skillet, and let the meatballs simmer in the sauce for about 60 minutes, or until the meatballs are fully cooked and the rice is tender (you may want to cut one open to check the rice in the center). Stir occasionally, turning the meatballs and spooning the sauce over them.

Beef

From the same shelf

More plates from this part of the kitchen, each with its own ingredient list.