Classic Porcupine Meatballs just like Grandma used to make! This simple recipe uses pantry staples to create a hearty, budget-friendly meal the whole family will love.
Recipe was originally published 1/18/2021 and has been updated with improved images and recipe tips.

If you’re looking for a nostalgic, budget-friendly dinner that the whole family will actually eat, these Porcupine Meatballs are the answer. This old-fashioned comfort food gets its name from the long-grain rice mixed into the ground beef, which pokes out like little porcupines as they simmer in a thick, savory tomato sauce.
Unlike other recipes that can turn out greasy or bland, this version uses a two-step baking method to lock in the moisture while rendering out excess fat. Between the shortcut of onion soup mix in the sauce and the tender, “fork-soft” texture of the beef, it’s a foolproof meal that tastes like it spent all day in a slow cooker—but is ready much faster. This is my mother-in-law’s recipe that I’ve been enjoying since a teen.
Whether you’re a fan of the classic retro 1950s recipe (that her mother once made), or you’re just looking for a new way to use a pound of ground beef, these easy porcupine meatballs are guaranteed to become a permanent fixture in your weeknight rotation.

The Best Porcupine Meatball Ingredients
This recipe uses a blend of pantry staples and fresh ingredients to create the ultimate comfort food. Here is everything you’ll need:
The Meatball Mixture
- Ground Beef (80/20): I recommend an 80/20 blend for the best flavor; the slightly higher fat content keeps the meatballs moist while they bake in the oven.
- Long Grain White Rice (Uncooked): Use standard long-grain rice to get that signature “porcupine” look. Note: Do not use instant rice, as it will overcook.
- Yellow Onion: Finely diced to provide sweetness and moisture to the meat.
- Eggs: These act as the primary binder to ensure your meatballs don’t fall apart.
- Panko Bread Crumbs: Adds a lightness to the texture that traditional breadcrumbs can’t match.
- Worcestershire Sauce: For a deep, savory “umami” flavor profile.
- Fresh Parsley: Chopped fine for a pop of color and fresh herbal notes.
- Pantry Seasonings: A blend of Onion Powder, Garlic Powder, Dried Oregano, Dried Thyme, and Salt for a classic savory seasoning.
The Savory Tomato Sauce
- Italian Herbs & Worcestershire Sauce: For an extra layer of herbal and savory seasoning.
- Tomato sauce: Use two 14 oz cans or one large can as the base for your gravy.
- Onion Soup Mix: This is the “secret ingredient” for instant depth and savory onion flavor.
- Tomato Paste: Adds thickness and a rich, concentrated tomato zest to the sauce.
- Light Brown Sugar: Perfectly balances the acidity of the tomatoes for a smooth finish.
- Water: Essential for the uncooked rice to absorb so it becomes tender.

How to Make Porcupine Meatballs (Step-by-Step)
Follow these simple steps for perfectly tender meatballs and a rich, savory tomato glaze.

Step 1: Prep and Mix the Meatball Base
- Preheat the Oven: Set your oven to 350°F (175°C). Line a large rimmed baking sheet with parchment paper for easy cleanup.
- Combine Ingredients: In a large mixing bowl, add the ground beef, uncooked long-grain rice, diced yellow onion, eggs, panko breadcrumbs, Worcestershire sauce, fresh parsley, and all the dried spices.
- Mix Thoroughly: Using clean hands, mix until the ingredients are well-distributed. Pro Tip: Don’t overwork the meat, or the meatballs can become tough!

Step 2: Shape and Pre-Bake the Meatballs
- Portion the Meat: Use a 2-tablespoon scoop to portion the mixture. Roll into uniform balls (you should have approximately 20 large meatballs).
- The First Bake: Arrange the meatballs in a single layer on the prepared baking sheet. Bake on the center rack for 15 minutes. This “sets” the shape and renders out excess fat before they hit the sauce.
- Remove and Set Aside: Take the meatballs out of the oven and lower the oven temperature to 300°F.
Step 3: Prepare the Savory Tomato Sauce
- Whisk the Sauce: In a 2.5-quart stockpot, combine the tomato sauce, tomato paste, dry onion soup mix, Worcestershire sauce, light brown sugar, water, and Italian herbs.
- Simmer to Combine: Heat over medium-high heat, stirring periodically. Once the sauce reaches a low boil and bubbles begin to form, remove it from the heat. This step “blooms” the dried onion soup mix for maximum flavor.
Step 4: Slow Bake in the Sauce
- Arrange in Casserole Dish: Place the pre-baked meatballs into a 13″ x 9″ baking dish.
- Smother with Sauce: Pour the warm tomato sauce evenly over the meatballs, ensuring they are well-coated.
- Cover and Bake: Seal the dish tightly with aluminum foil. Bake at 300°F for 45 minutes. This low-and-slow method allows the uncooked rice to absorb the sauce and become tender.
Step 5: The Final Sear and Serving
Serve: Enjoy your Porcupine Meatballs warm over extra white rice, mashed potatoes, or with a side of crusty bread to soak up the extra sauce!
Uncover for Color: Remove the foil and increase the oven temperature back to 350°F.
Final Roast: Bake for an additional 10 minutes uncovered. This thickens the sauce into a beautiful glaze.

What to Serve with Porcupines:
Porcupine Meatballs make a delicious sauce that goes perfectly with a variety of side dishes. Serve it with the following classic side dishes:
- white or brown rice
- orzo
- mashed potatoes
- mashed cauliflower
- baked asparagus
- steamed broccoli
- side salad
- spaghetti/pasta
- baked potatoes
My favorite pairings are white rice and mashed potatoes. I love to spoon extra sauce over white rice which I prepare in my pressure cooker in less than 15 minutes.
Frequently Asked Questions
Why are they called Porcupine Meatballs?
They get their name from the long-grain rice mixed into the beef. As the meatballs simmer, the rice grains poke out, making them look like little porcupines!
Do I need to cook the rice before adding it to the meat?
No! One of the best things about this recipe is that you use uncooked long-grain white rice. The rice absorbs the moisture from the sauce and the meat as it simmers, resulting in a perfectly tender texture.
Can I make Porcupine Meatballs in a Slow Cooker?
Absolutely. To make these in a crockpot, prepare the meatballs as directed, place them in the slow cooker, and pour the sauce over them. Cook on Low for 6-8 hours or High for 3-4 hours.
What is the best type of rice to use?
For the classic “porcupine” look, long-grain white rice or Jasmine rice works best. Avoid using instant rice (Minute Rice), as it can become too mushy during the simmering process.
Can I freeze Porcupine Meatballs?
Yes! You can freeze them either cooked or uncooked. If cooked, let them cool completely and store them in an airtight container with the sauce for up to 3 months. Thaw in the fridge overnight before reheating.
Recipe Substitutions and Creative Variations
One of the reasons this classic recipe has stood the test of time is its versatility! Here are a few easy ways to swap ingredients based on what you have in your pantry or your dietary preferences.
Dietary Substitutions
- Gluten-Free Porcupine Meatballs: To make this recipe gluten-free, simply swap the Panko breadcrumbs for gluten-free breadcrumbs or crushed pork rinds. Also, ensure your dry onion soup mix and Worcestershire sauce are certified gluten-free brands.
- Leaner Protein Option: You can easily swap the 80/20 ground beef for ground turkey or ground chicken. Since poultry is leaner, I recommend adding an extra tablespoon of olive oil to the meat mixture to keep the meatballs from drying out.
- Egg-Free Binder: If you have an egg allergy, you can use a flax egg (1 tbsp ground flaxseed meal + 3 tbsp water) or ¼ cup of unsweetened applesauce as a binder.
Flavor Variations
Cheesy Center: For a fun surprise, tuck a small cube of mozzarella or cheddar cheese into the center of each meatball before rolling and baking.
Extra Veggies: For a hidden nutritional boost, fold in ½ cup of finely grated zucchini or shredded carrots into the meat mixture. This also helps keep the meatballs incredibly moist!
Spicy Porcupine Meatballs: If you like a little heat, add a teaspoon of crushed red pepper flakes to the tomato sauce or swap the tomato sauce for a jar of your favorite spicy marinara.

How to Store and Reheat Porcupine Meatballs
One of the best things about this recipe is that the flavors actually improve the next day! Here is how to keep your leftovers fresh and delicious.
Storing in the Refrigerator
- Cool Down: Allow the meatballs and sauce to reach room temperature before storing. (Do not leave them out for more than 2 hours).
- Airtight Container: Place the meatballs and plenty of the tomato sauce into an airtight glass or plastic container.
- Shelf Life: These will stay fresh in the refrigerator for 3 to 4 days.
Can You Freeze Porcupine Meatballs?
Yes! These are an excellent “make-ahead” meal.
- To Freeze: Place the completely cooled meatballs and sauce in a freezer-safe container or a heavy-duty freezer bag. Squeeze out as much air as possible to prevent freezer burn.
- Storage Time: They will maintain their best quality for up to 3 months.
- Thawing: For the best texture, thaw the meatballs in the refrigerator overnight before reheating.
Best Ways to Reheat
To keep the meatballs from drying out and to ensure the rice stays tender, follow these tips:
- Oven (Recommended): Place meatballs and sauce in a small baking dish. Add a splash of water or beef broth to loosen the sauce. Cover with foil and bake at 350°F for 15–20 minutes until heated through.
- Stovetop: Place meatballs and sauce in a skillet over medium-low heat. Cover with a lid and simmer gently, stirring occasionally so the bottom doesn’t scorch.
- Microwave: Place a serving in a microwave-safe dish and cover with a damp paper towel. Heat in 45-second intervals at medium power to prevent the meatballs from “popping” or drying out.
More Ground Beef Recipes




Recipe
Follow the recipe below to make Porcupine Meatballs! This recipe makes 20 large meatballs, but you can adjust the recipe card for other serving sizes.

Porcupine Meatballs Recipe
Equipment
- Large Baking Sheet
- 2-tablespoon sized cookie scoop
- parchment paper
- large mixing bowl
- mixing spoon
- 13″ x 9″ casserole dish
- 2.5 quart stockpot
Ingredients
Meatballs
- 2 pounds 80/20 ground beef
- ½ cup long grain white rice uncooked
- 1 medium yellow onion diced
- 2 large eggs
- ½ cup panko bread crumbs
- ¼ teaspoon salt
- ¼ teaspoon oregano
- ¼ teaspoon thyme
- 1 teaspoon onion powder
- 1 teaspoon garlic powder
- 1 tablespoons Worcestershire sauce
- 1 tablespoon fresh parsley chopped fine
Tomato Sauce
- 28 ounces tomato sauce
- 1 pouch dry onion soup mix
- 6 ounces tomato paste
- 2 tablespoons light brown sugar
- 1 teaspoon Italian herbs
- 1 tablespoon Worcestershire sauce
- 1 cup Water
Instructions
Meatballs
- Preheat oven to 350°F. Line a large baking sheet with parchment paper.
- Add add the meatball ingredients to a large mixing bowl. Mix thoroughly with clean hands until mixture is well-combined.
- Scoop 2-tablespoons of meat mixture at a time and roll into balls. Place them in a single layer on a baking sheet. You should end up with 20 large meatballs.
- Place the baking sheet of meatballs on to the center-rack of a preheated oven. Bake at 350°F for 15 minutes.
- Remove them from the oven and place aside.
Tomato Sauce
- In a 2.5 quart stockpot, add tomato sauce, tomato paste, onion soup mix, Worcestershire sauce, light brown sugar, water, and Italian herbs.
- Using medium-high heat, bring sauce ingredients to low boil, stirring periodically. Remove from heat once bubbles form.
Final Meal
- Reduce the oven temperature to 300°F.
- Add the baked meatballs to a 13" x 9" casserole dish. Pour the sauce over the meatballs, and cover the dish with aluminum foil.
- Place the casserole dish of meatballs and sauce onto the center-rack of a preheated oven. Bake for 45 minutes at 300°F.
- After baking for 45 minutes, remove the foil and increase the oven temperature to 350°F. Bake for an additional 10 minutes uncovered.
- Serve meatballs warm over cooked white rice, or with your choice of sides.

I would say 4 meatballs is the average serving size.
How many meatballs are considered 1 serving in this 20 meatball recipe?
Edit on my porcupines recipe: they are 2-3 inches in diameter, not 1 1/2-2 inches.
I have been making Porcupines for 42 years. This recipe makes 4-5 porcupines depending on the size you make them. I use 1 pound of 80/20 ground beef, 1/2 finely chopped yellow onion, salt, and pepper to taste, and Minute Instant white rice. I just throw some in the pan (at least 1 cup). I mix these ingredients together and form 4-5 balls about 1 1/2-2 inches in diameter. In a separate large bowl, I mix 2 large (23.2 oz. each) cans of Campbell’s condensed tomato soup with 24 oz. of whole milk. Whisk well. I place the porcupines in a Dutch oven and cover them with the tomato soup/milk mixture. Place in a preheated 350 degree oven for 1 hour. Serve with mashed potatoes and corn. Use the tomato soup/milk mixture as a gravy over mashed potatoes and the meat. My mother-in-law taught me how to make them.
Hello,
This can happen if you do not simmer your meatballs long enough. To fix this, you can let them simmer on low in extra sauce if possible. Next time, you can also use precooked rice if you are afraid this may happen again.
The rice did not cook in the meatballs. Help
Hi Kate,
The rice inside the meatballs is added raw, not pre-cooked. Thanks for your question.
Is the rice pre cooked or raw?