Classic Porcupine Meatballs In Rich Tomato Gravy

Tender porcupine meatballs simmering in a rich tomato sauce enhanced with balsamic vinegar and sautéed aromatics in a skillet
---Advertisement---

Some nights, I want dinner to taste like it came from Grandma’s kitchen, the kind of pot-on-the-stove comfort that got families through lean times. That is exactly where porcupine meatballs come from, a Depression era recipe built on simple ground beef recipes and a little long grain white rice that magically stretches the meal.

In my kitchen, I keep the classic spirit, but I slip in one chef move that changes everything, building a rich tomato sauce that tastes deep and “cooked,” not just poured from a can. If you love a one-skillet dinner that feels cozy and reliable, this one is for you.

Why You’ll Love This Recipe

Flavor Depth: Searing first gives you that savory Maillard reaction crust, and it perfumes the whole pan. I learned the hard way that simmering pale meatballs never builds the same comfort food backbone.

The Secret Twist: Deglazing the skillet, even with a tiny splash of stock and a dash of balsamic vinegar, lifts every browned bit into the gravy. That quick step makes the tomato sauce taste restaurant-quality instead of “canned.”

Texture Perfection: The meatballs turn tender while the rice cooks into fluffy little “quills.” You get soft, juicy bites with those classic porcupine spikes peeking out.

Pantry Friendly: Tomato sauce and Worcestershire sauce do the heavy lifting, so you are not hunting for anything fancy. It is the kind of meal you can pull off on a weeknight with what is already around.

One-Pan Magic: Everything finishes in a single skillet, sauce and all. Fewer dishes means you can sit down sooner, while the house still smells like simmering tomatoes and onions.

Ingredients and Substitutions

Overhead view of raw ingredients for porcupine meatballs including ground beef, long grain white rice, tomato sauce, and aromatics
Simple pantry staples ready to become a comforting family favorite.

These porcupine meatballs are built from humble staples, but each one matters, especially the rice-to-liquid balance and that tomato gravy. Keep everything measured, and the texture turns out just right.

Ingredients

  • 1 pound lean ground beef
  • 1/2 cup uncooked long grain white rice
  • 1/2 cup water
  • 1/3 cup chopped onion
  • 1 teaspoon kosher salt
  • 1/2 teaspoon celery salt
  • 1/8 teaspoon garlic powder
  • 1/8 teaspoon ground black pepper
  • 1 tablespoon canola oil

Sauce:

  • 1 (15 ounce) can tomato sauce
  • 1 cup low sodium chicken stock
  • 2 teaspoons Worcestershire sauce
  • 1 teaspoon granulated sugar

Ingredient Notes & Substitutions

Uncooked long grain white rice: This is non-negotiable for true porcupine meatballs, because it cooks slowly and pushes out into those signature spikes. Minute rice tends to go soft and gummy, and brown rice usually stays too firm by the time the meat is done.

Lean ground beef: I like 85/15 or 90/10 for a tender bite without a greasy sauce. If you only have ultra-lean beef, collective kitchen wisdom says a binder like an egg can help, but I keep this version classic and focus on gentle mixing and a calm simmer.

Tomato sauce: For a sweeter, vintage profile, condensed tomato soup can stand in for the sauce, and it leans into that old-school comfort food vibe. If you go that route, taste the gravy near the end since the sweetness is already built in.

How to Make porcupine meatballs

Mix and Shape

  1. Set everything out so you are not fumbling with spices mid-mix, because quick handling keeps meatballs tender. The goal is a mixture that looks evenly speckled with rice and onion, not packed and tight.
  2. In a bowl, combine the ground beef, uncooked long grain white rice, water, chopped onion, kosher salt, celery salt, garlic powder, and black pepper. Mix with your hands or a fork just until it comes together, stopping the moment it looks uniform so the meat stays soft.
  3. Roll the mixture into 12 meatballs, aiming for the same size so they cook evenly. They should feel moist and cohesive, not crumbly.

Sear for Deep Flavor

  1. Heat the canola oil in a large skillet over medium-high heat until it shimmers and moves easily across the pan. When the oil looks ready, you should hear an immediate sizzle when a meatball touches down.
  2. Add the meatballs and let them brown, turning once halfway through, for about 8 minutes total. You are looking for a deep golden crust and a toasty, beefy aroma, this is the flavor foundation that makes the gravy taste “grown up.”
  3. Drain and discard excess grease, keeping the browned bits in the skillet. Those little stuck-on spots are pure gold for the sauce.

Deglaze, Simmer, and Let the Rice Bloom

  1. With the pan still warm, pour in the tomato sauce, chicken stock, Worcestershire sauce, and sugar, then reduce the heat to medium-low. In my kitchen I often splash in a tiny dash of balsamic vinegar as a pantry trick, scraping the bottom as the liquid loosens the fond into the sauce.
  2. Set the meatballs back into the skillet, nestling them so they are mostly surrounded by sauce. Once the sauce is barely bubbling, cover the skillet and keep it at a gentle simmer.
  3. Simmer until the meatballs are no longer pink in the center and the rice is tender, about 45 minutes. You will see the rice poke out like quills, and the sauce will thicken into a spoon-coating tomato gravy.
  4. If the sauce starts looking too dry before the rice is done, stir in more stock a little at a time. You want enough moisture for the rice to finish cooking without turning the simmer into a boil.

Secrets for Perfectly Tender Rice

Close-up texture of a cooked porcupine meatball showing tender long grain white rice grains integrated with the beef
Perfectly cooked rice grains ensure every bite is moist and fluffy.

The Steam Factor: The rice cooks from the moisture trapped inside the meatball and the steam rising from the sauce, so a tight lid matters. Every time the lid lifts, you let the heat and steam escape, and that is when “hard rice” happens.

Avoid the Boil: Keep the sauce at a gentle simmer, not a rolling bubble. A hard boil can knock the meatballs around until they crack, and the rice never gets the calm, steady cooking it needs.

Liquid Management: If your gravy thickens too fast, a splash more stock brings it back to life. The way rice drinks up seasoned liquid here reminds me of French onion rice, where absorption is the whole point and patience pays off.

Pro Tips & Troubleshooting

Pro Tips

  • Use a cookie scoop for uniform meatballs, so all 12 finish at the same time.
  • Mix just until combined, overworking the beef makes the texture tight.
  • Sear until deeply browned, that crust helps them hold together during simmering.
  • Let the skillet run at a gentle simmer for the full 45 minutes, calm heat keeps the rice tender.
  • Rest the covered pan off the heat for 5 minutes, the rice plumps and the sauce settles.

Common Mistakes to Avoid

  • Crunchy rice usually means the heat was too high and the liquid evaporated early.
  • Meatballs can cook with hard rice if they are not nestled into enough sauce.
  • Falling apart often comes from over-stirring, let the meatballs sit and simmer quietly.
  • Ultra-lean beef can turn dry, a little fat helps tenderness and structure.
  • Boiling breaks meatballs, keep bubbles small and steady instead.

Serving & Storage

Porcupine meatballs plated in a shallow bowl with fresh herbs, ready to be served for a cozy dinner
A hearty, warming dish that tastes just as good the next day.

Serving Ideas

I love these spooned over creamy mashed potatoes, because that rich tomato gravy was made for soaking. A bright green side like roasted broccoli or steamed green beans keeps the plate from feeling heavy.

A little chopped parsley or basil on top wakes everything up right before serving. If you have extra ground beef in the fridge this week, cozy classics like cottage pie scratch the same comfort-food itch with a different vibe.

Storage & Make-Ahead

Refrigerate leftovers in a tight container, the sauce actually gets better by the next day. Reheat gently on the stove with a splash of water to loosen the gravy, then cover for a few minutes so the meatballs warm through without drying out.

For freezing, cooked meatballs hold their texture best because the rice has already finished swelling in the sauce. Raw meatballs can be frozen too, but the rice sometimes cooks unevenly after thawing, so I save that method for emergencies.

Tender porcupine meatballs simmering in a rich tomato sauce enhanced with balsamic vinegar and sautéed aromatics in a skillet

One-pan Porcupine Meatballs

Rebecca Blumer
These classic Porcupine Meatballs are a nostalgic comfort food dinner featuring tender ground beef and fluffy long grain rice simmered in a rich, savory tomato gravy. This easy one-skillet recipe uses a simple sear-and-deglaze technique to create deep flavor without extra dishes.
No ratings yet
Prep Time 15 minutes
Cook Time 55 minutes
Resting time 5 minutes
Total Time 1 hour 15 minutes
Course Dinner, Main Course
Cuisine American
Servings 4 servings
Calories 385 kcal

Equipment

  • Large Skillet with Lid
  • Mixing Bowl

Ingredients
 

  • 1 pound lean ground beef
  • 1/2 cup uncooked long grain white rice
  • 1/2 cup water
  • 1/3 cup chopped onion
  • 1 teaspoon kosher salt
  • 1/2 teaspoon celery salt
  • 1/8 teaspoon garlic powder
  • 1/8 teaspoon ground black pepper
  • 1 tablespoon canola oil

Sauce

  • 1 can tomato sauce (15 ounce)
  • 1 cup low sodium chicken stock
  • 2 teaspoons Worcestershire sauce
  • 1 teaspoon granulated sugar

Instructions
 

Mix and Shape

  • In a large bowl, combine the ground beef, uncooked long grain white rice, water, chopped onion, kosher salt, celery salt, garlic powder, and black pepper. Mix gently with your hands or a fork just until the ingredients are combined and uniform.
  • Roll the mixture into 12 meatballs, aiming for equal size so they cook evenly.

Sear for Deep Flavor

  • Heat the canola oil in a large skillet over medium-high heat until it shimmers. Add the meatballs carefully.
  • Brown the meatballs, turning once halfway through, for about 8 minutes total. Look for a deep golden crust to build flavor.
  • Drain and discard the excess grease from the pan, but leave the browned bits stuck to the bottom of the skillet.

Deglaze, Simmer, and Let the Rice Bloom

  • Pour in the tomato sauce, chicken stock, Worcestershire sauce, and sugar, scraping the bottom of the pan to release the browned bits. Reduce the heat to medium-low.
  • Nestle the meatballs back into the skillet so they are mostly surrounded by the sauce. Once bubbling, cover the skillet with a tight lid and maintain a gentle simmer.
  • Simmer for about 45 minutes until the meatballs are cooked through and the rice is tender and spiking out. If the sauce becomes too dry, stir in a splash of stock.
  • Remove from heat and let the pan rest covered for 5 minutes to allow the rice to plump and the sauce to settle before serving.

Notes

Texture Tip: Avoid overworking the beef mixture; mix just until combined to ensure the meatballs remain tender rather than tough.
Cooking Tip: Keep the heat at a gentle simmer rather than a hard boil to prevent the meatballs from breaking apart.
Storage: Refrigerate leftovers in an airtight container; the flavors of the sauce often improve by the next day.
Freezing: It is best to freeze these meatballs after they are cooked, as raw rice inside the meat can cook unevenly after thawing.
Nutrition information is estimated based on common ingredients and serving sizes and may vary.

Nutrition

Calories: 385kcalCarbohydrates: 24gProtein: 26gFat: 19gSaturated Fat: 7gCholesterol: 75mgSodium: 950mgPotassium: 600mgFiber: 2gSugar: 6gVitamin A: 500IUVitamin C: 5mgCalcium: 40mgIron: 3mg
Keyword Comfort Food, Ground beef recipes, One-skillet dinner, Porcupine meatballs
Tried this recipe?Let us know how it was!

Conclusion

Porcupine meatballs are the kind of comfort food that makes a house feel lived-in, tender beef, fluffy rice spikes, and that tangy tomato gravy. The sear-and-deglaze trick is my little love letter to the classic, it keeps the soul of the dish while giving it real depth.

If you enjoy this meatball-and-rice flavor family, porcupine soup is a natural next bowl, especially when you want something extra cozy and spoonable.

Frequently Asked Questions

Do you put raw or cooked rice in porcupine meatballs?

Always raw long grain white rice. It needs the 45-minute covered simmer to cook inside the meatball and form those signature “quills.”

Why are my meatballs falling apart?

This usually comes from handling the mixture too much, or letting the sauce boil hard enough to batter the meatballs. Mix just until combined, sear well, and keep the heat at a gentle simmer.

Can I make these in a slow cooker?

Yes, and the key is still browning first for flavor and structure. After searing, transfer meatballs and sauce to the slow cooker and cook on Low for 6 to 7 hours, similar to the low-and-slow texture you get with crockpot chicken style comfort dinners.

What is the best type of rice to use?

Uncooked long grain white rice is the best choice because it cooks through on time and stays fluffy. Instant rice tends to go mushy, and brown rice usually needs longer than this recipe allows.

How to fix undercooked rice in meatballs?

Add about 1/4 cup liquid, then cover and simmer for another 10 to 15 minutes. Keep the heat gentle so the sauce does not boil away before the rice finishes.

Join our Facebook group!

Join Now
---Advertisement---

Leave a Comment

Recipe Rating