Budget-Friendly Porcupine Meatball Recipe

Nostalgia has a tendency to start trending when things are feeling uncertain, according to Trendhunter, even if what we tend to sentimentalize are days gone by that were, themselves, challenging for one reason or another. The Great Depression, for example, presented enormous struggles. Yet somehow there's comfort in recipes that came out of those years — many of which came about as a result of American families having to make do with less while stretching it out for longer periods. One such recipe is this one for a hearty Depression-era supper known as "Porcupine Meatballs." And no, it's not because they're made of porcupine. 

Rather, according to recipe developer and food photographer Molly Madigan Pisula at Vanilla Bean Cuisine, it's because porcupine meatballs incorporate long grain rice to stretch the ground beef out further, and "the rice pokes out of the meatball as it cooks, making the meatballs look spiny like porcupines!" And that is what makes this recipe both budget-friendly and kid-friendly. 

Gather your ingredients together

Traditionally, porcupine meatballs were a mixture of ground beef and uncooked rice that were simmered in a "sauce" made from canned tomato soup. Pisula made the decision to swap out the soup and swap in tomato purée instead — to avoid any nutritional pitfalls that might be associated with canned tomato soup. She did note, however, that if you prefer a sweeter sauce for your meatballs, you can add a tablespoon of brown sugar. For the ground beef, Pisula's recipe calls specifically for "lean"' because a leaner meat keeps this sauce from becoming too oily. For the rice, Pisula specifies long-grain (such as basmati) because "it's drier and less starchy than medium-grain or short-grain rice, and using medium-grain or short-grain rice will give you a gummier result." Not to mention less prominent porcupine spines. 

Whereas the Depression-era version of the recipe presumed that you wouldn't have access to fresh herbs (via The Times News), Pisula incorporated fresh flat-leaf parsley into the meatballs and as a garnish. In addition to your beef, rice, and tomato purée, you'll need one egg, some finely chopped yellow onion, a couple of tablespoons of vegetable oil, a tablespoon of butter, and a sprinkling of garlic powder, kosher salt, ground black pepper, and dried oregano. 

Stir all your ingredients together

Into a large bowl — one that is large enough to accommodate about 4 cups worth of ingredients, plus room for comfortably mixing all the ingredients together — place your lean ground beef, the long-grain rice, onion, egg, 2 tablespoons of water, fresh flat-leaf parsley, garlic powder, 1 teaspoon of the salt, and all your pepper. 

Now, stir all of this together — with your hands. "The light touch of your hands incorporates all of the ingredients without crushing the meat," according to Bon Appetit. Stop mixing as soon as all of the ingredients are blended together (because you don't want to overwork the mixture, and you still have some handling left to do as you form the meatballs).

Now it's time to turn your meat and rice mixture into meatballs

After mixing the meatball mixture but before you start rolling the meatballs, line a sheet pan with parchment and place it on the counter to one side of you. The bowl with the meat mixture should be on the other. You're going to want to form the mixture into about 20 small meatballs of about 1 1/2 inches in diameter. You can use a 1/4-cup ice cream scooper to get to that approximate size, but if you do, be sure to spray the scooper with a bit of cooking spray to keep the meat from sticking. If you form the meatballs with your hands, you can rub a bit of oil on your hands to accomplish the same thing. You'll only need a light rolling motion to form a (not too tight!) ball. As you form your meatballs, try not to overhandle the meat. Just grab a hunk of meat mixture, roll it lightly into a ball with your hands, and set it down on your sheet pan. 

Heat up a skillet, and fry up those porcupine meatballs

Place a large skillet or saucepan on the stove over medium heat. Add 1 tablespoon of oil. Wait for the oil to get hot enough so that the it sizzles when it comes into contact with a drop of water. Then add half of the raw meatballs to the skillet. Brown on each side (about two minutes per side). Move your fully browned meatballs from the pan onto a clean platter (as opposed to back onto the sheet pan, where the parchment will still have remnants of raw meat on it).

Repeat the same process with the other tablespoon of oil and the other half of your meatballs, except when the second batch are fully browned, leave them in the pan, and add the first batch of browned meatballs back into the skillet.

Make the sauce

You'll want to turn the heat source under your skillet or saucepan to a low simmer setting as you build your sauce from the browned meatballs and the brown bits left after the browning. Into the skillet, you'll now want to add all of the tomato purée and 12 ounces of water, as well as the butter, oregano, and remaining 1/2 a teaspoon of salt. Stir gently — trying to minimize how much you're disturbing the meatballs.

Enjoy the aroma of your simmering meatballs and sauce, and then enjoy!

Cover your skillet or saucepan and increase the heat to medium. Allow to cook for 30 minutes, pausing to stir occasionally (you can thank us later when you're relaxing rather than scrubbing a scorched pan). Your meatballs should now be cooked all the way through, and the rice should be tender. Season to taste with additional salt and pepper, garnish with the remaining flat-leaf parsley, and serve over rice, mashed potatoes, or pasta. Alternatively, you can serve these meatballs on a sub roll or on a baguette.  Leftovers can be frozen for up to 3 months in an airtight container.

Budget-Friendly Porcupine Meatball Recipe
5 from 21 ratings
These old-fashioned porcupine meatballs are a budget-friendly comfort food you and your kids will love.
Prep Time
Cook Time
Porcupine meatballs in a pan
Total time: 1 hour
  • 1 pound lean ground beef
  • ½ cup uncooked long-grain rice
  • ⅓ cup yellow onion, finely chopped
  • 1 egg
  • 12 ounces, plus 2 tablespoons water, divided
  • 1 tablespoon chopped flat-leaf parsley, plus more for garnish
  • ¾ teaspoon garlic powder
  • 1½ teaspoons kosher salt, divided
  • ⅛ teaspoon ground black pepper
  • 2 tablespoons vegetable oil, divided
  • 15 ounces tomato purée
  • 2 tablespoons butter
  • ½ teaspoon dried oregano
  1. In a large bowl, mix together the lean ground beef, long-grain rice, onion, egg, 2 tablespoons of water, 1 tablespoon of fresh flat-leaf parsley, garlic powder, 1 teaspoon of the salt, and all the pepper.
  2. Form 1½-inch meatballs (around 20), placing them, one at a time, on a sheet pan lined with parchment.
  3. Heat 1 tablespoon of oil in a large skillet or saucepan over medium heat.
  4. Add half of the raw meatballs to the skillet, and brown on each side (about 2 minutes per side).
  5. Move the fully browned meatballs from the pan onto a clean platter, and repeat the same process with the other tablespoon of oil and the other half of your meatballs -- except when the second batch are fully browned, leave them in the pan, and add the first batch of browned meatballs back into the skillet.
  6. Turn the heat down to low. Add the tomato purée, the remaining 12 ounces of water, and the butter, oregano, and remaining half-teaspoon of salt, and stir gently.
  7. Cover, increase the heat to medium, and allow to cook for 30 minutes, until the meatballs are cooked through and the rice is tender.
  8. Garnish with the remaining flat-leaf parsley. Serve over rice, mashed potatoes, or pasta or on a sub roll or baguette.
Rate this recipe