These porcupine meatballs bake beef-and-rice meatballs in tomato sauce until tender, saucy, and ready.
Porcupine meatballs are old-school comfort food: seasoned ground meat mixed with uncooked rice, rolled into hearty balls, then baked or simmered in tomato sauce. As the rice cooks, little grains poke out like “quills,” which is where the name comes from. You get a one-pan meal that tastes like it took longer right away.
This version uses pantry basics tonight, gives you two cooking paths, and includes swaps so you can work with what’s in the fridge.
Ingredient Cheat Sheet And Smart Swaps
Before you start mixing, scan this table. It’ll help you choose ingredients that cook evenly and keep the meatballs moist without turning them soft or fragile.
| Ingredient | Best Pick | Swap That Works |
|---|---|---|
| Ground meat | 80/20 beef for flavor and moisture | Turkey, pork, or a 50/50 beef–pork blend |
| Rice | Long-grain white rice (uncooked) | Jasmine or basmati; avoid instant rice |
| Binder | Egg + a splash of milk | Egg + water; or 2 tbsp yogurt in place of milk |
| Aromatics | Grated onion + minced garlic | Onion powder + garlic powder in a pinch |
| Sauce base | Crushed tomatoes + tomato sauce | All tomato sauce, or marinara (watch salt) |
| Sweet balance | 1–2 tsp sugar or honey | Grated carrot in the sauce |
| Seasoning | Salt, pepper, paprika, dried oregano | Italian seasoning; add chili flakes if you like heat |
| Moisture boost | Worcestershire sauce | Soy sauce (use less salt elsewhere) |
Porcupine Meatballs Recipe For Weeknight Dinners
You’ll make the meatball mix, roll, then cook them in sauce. Keep the rice uncooked. It needs time in the sauce to soften and expand.
Ingredients
- 1 1/2 pounds ground beef (80/20 works well)
- 1/2 cup long-grain white rice, uncooked
- 1 large egg
- 1/3 cup milk
- 1/2 cup onion, finely grated (or minced fine)
- 2 garlic cloves, minced
- 1 1/2 tsp kosher salt
- 1/2 tsp black pepper
- 1 tsp paprika
- 1 tsp dried oregano
- 1 tbsp Worcestershire sauce
- 2 tbsp chopped parsley (optional)
Tomato Sauce
- 1 (28 oz) can crushed tomatoes
- 1 (15 oz) can tomato sauce
- 1 cup water or low-salt beef broth
- 1 tbsp olive oil
- 1 tsp sugar or honey (optional)
- 1/2 tsp salt, plus more to taste
- 1/2 tsp dried oregano
Step-By-Step
- Heat the oven: Set it to 375°F / 190°C. Choose a deep 9×13-inch baking dish or a Dutch oven.
- Make the sauce: Stir crushed tomatoes, tomato sauce, water (or broth), olive oil, sugar (if using), salt, and oregano. Pour it into your baking dish.
- Mix the meatballs: In a large bowl, combine beef, rice, egg, milk, onion, garlic, salt, pepper, paprika, oregano, Worcestershire, and parsley. Mix with your hands just until it comes together. Don’t overwork it.
- Roll: Shape 16–18 meatballs, each about the size of a golf ball. If the mix sticks, wet your hands with cool water.
- Nest in sauce: Set the meatballs into the sauce in a single layer. Spoon a little sauce over the tops so the rice cooks evenly.
- Bake with a lid: Seal tightly with foil or a lid. Bake 35 minutes.
- Finish without foil: Remove the foil or lid and bake 15–20 minutes more, until the meatballs are cooked through and the rice is tender.
- Rest: Let the pan sit 10 minutes. The sauce thickens, and the meatballs firm up so they serve cleanly.
For food safety, ground beef should reach 160°F / 71°C at the center. The USDA lists this as the safe minimum internal temperature for ground meat; you can check the chart at USDA safe minimum internal temperature for ground beef.
Porcupine Meatballs With Tomato Sauce And Rice
There’s a reason this dish keeps showing up in family recipe boxes. The rice and sauce do most of the work, turning a simple meatball into a full bite with texture. A few small choices make a big difference in how it eats.
Rice Texture: What Makes It Tender
Long-grain white rice stays separate, so you get that “porcupine” look without the meatball turning dense. Instant rice can go mushy and won’t give the same bite. If all you have is short-grain rice, cut the amount to 1/3 cup and add two extra tablespoons of water to the sauce.
Moist Meatballs: Two Moves That Help
First, grate the onion. You want onion juice in the mix, not crunchy chunks. Second, stop mixing as soon as the meat turns sticky and holds together. Over-mixed meatballs bake up tight.
Sauce Thickness: How To Keep It Spoonable
The rice drinks up liquid as it cooks, so the sauce starts loose and ends thicker. If you like a looser sauce, add another 1/2 cup water or broth to the pan after you remove the foil or lid. If you like it thicker, leave the lid off at the end.
Stovetop Method In A Covered Skillet
No oven? No problem. The stovetop method is a little more hands-on, yet it’s quick and keeps the kitchen cooler.
How To Do It
- Make the sauce in a wide, deep skillet with a lid. Bring it to a gentle simmer.
- Roll the meatballs and place them into the simmering sauce.
- Put on the lid and simmer 35–45 minutes on low heat. Keep the sauce at a lazy bubble, not a hard boil.
- Turn the meatballs once or twice so the rice cooks evenly. Add splashes of water if the sauce gets thick early.
- Rest 10 minutes off the heat before serving.
If your sauce starts sticking, your heat is too high. Slide the pan off the burner for a minute, add a bit of water, then go back to a low simmer.
Flavor Tweaks That Still Taste Like The Classic
This recipe is flexible, yet it still needs to feel like porcupine meatballs: beefy, tomato-forward, and cozy. These tweaks keep it in that lane.
Make It More Savory
- Add 1 tsp Dijon mustard to the meat mixture.
- Stir 1 tsp smoked paprika into the sauce.
- Finish with a shower of grated Parmesan at the table.
Make It Milder For Kids
- Skip chili flakes.
- Use all tomato sauce instead of crushed tomatoes for a smoother texture.
- Add a small grated carrot to the sauce for gentle sweetness.
Make It A Little Lighter
- Use ground turkey and add 1 tbsp olive oil to the meat mix.
- Choose broth with less salt and season at the end.
- Serve with a salad and keep the starch simple.
Serving Ideas That Feel Like A Full Meal
Porcupine meatballs are filling on their own, yet the right side dish turns them into a plate.
- Mashed potatoes: The sauce acts like gravy.
- Egg noodles: Quick, cozy, and great for soaking up sauce.
- Rice pilaf: If you want extra rice, keep it fluffy and plain.
- Roasted broccoli or green beans: A crisp side keeps the meal from feeling heavy.
- Crusty bread: Tear and swipe the last bits of sauce.
Make-Ahead, Freezing, And Leftovers
This dish plays nice with meal prep. The meatballs hold their shape after chilling, and the sauce tastes even better the next day.
Make-Ahead Options
- Mix and roll: Form the meatballs, wrap, and refrigerate up to 24 hours. Keep the sauce separate until you cook.
- Cook fully: Bake or simmer, cool, then refrigerate in the sauce up to 4 days.
Freezing Tips
- Freeze cooked meatballs in sauce for the best texture. Cool first, then pack in freezer-safe containers.
- Leave a little headspace so the sauce can expand.
- Label with the date and use within 3 months for best flavor.
Reheating Without Drying Them Out
Warm leftovers with a lid on the stove over low heat, or in the microwave at medium power. Add a splash of water if the sauce has thickened a lot in the fridge.
Timing And Troubleshooting Guide
If you’ve had porcupine meatballs turn out tough, raw in the middle, or watery, it usually comes down to one of a few fixable issues. Use this table as a fast check.
| Issue | Why It Happens | Fix Next Time |
|---|---|---|
| Rice still crunchy | Not enough liquid or lid not on tight | Add 1/2 cup water and keep the lid on; bake longer |
| Meatballs fall apart | Too much liquid in the mix or too little mixing | Use less milk; mix until tacky; chill 10 minutes |
| Meatballs feel tough | Lean meat or over-mixing | Use 80/20; mix gently; don’t pack them tight |
| Sauce too thin | Extra liquid or short finish without the foil or lid | Bake a bit longer without the foil or lid; simmer to thicken |
| Sauce too thick | Rice absorbed more than expected | Stir in warm water or broth a little at a time |
| Burning on the bottom | Heat too high (stovetop) or thin pan | Lower heat; use a heavier pot; add a splash of water |
| Uneven cooking | Meatballs sized differently | Use a scoop or scale; keep sizes consistent |
Quick Notes For Better Results
These last details are small, yet they help you nail the texture and keep cleanup easy.
- Use a thermometer: It removes guesswork and prevents overbaking.
- Choose a deep dish: Sauce should come halfway up the meatballs so the rice cooks evenly.
- Keep the simmer gentle: A hard boil can break meatballs apart on the stove.
- Season at the end: Tomato products vary in salt. Taste once the sauce reduces.
If you’re making this porcupine meatballs recipe for guests, bake it earlier in the day, then rewarm it slowly in the sauce. The flavors settle in, and the meatballs stay tender.
When you want a dinner that feels cozy without extra steps, this porcupine meatballs recipe delivers: one pan, tomato sauce, and rice that cooks right inside the meatballs.

