These classic porcupine meatballs are a nostalgic comfort dish made with ground beef and uncooked rice, baked in a sweet and savory tomato sauce until tender and flavorful. The rice cooks right inside the meatballs as they bake, giving them their signature texture and look—just like porcupine quills peeking out.
Why You’ll Love This Recipe
I love how this recipe brings together simplicity and flavor in one dish. It’s budget-friendly, kid-approved, and makes a generous batch, which means I can feed a crowd or store leftovers for another night. The meatballs stay juicy thanks to the rice and the rich tomato sauce that they cook in. And best of all, everything bakes in one dish—easy to prepare, even easier to clean up.
Ingredients
(Here’s a tip: Check out the full list of ingredients and measurements in the recipe card below.)
-
15 ounces tomato sauce
-
1 cup water, divided
-
2 tablespoons light brown sugar
-
2 teaspoons Worcestershire sauce
-
½ cup long‑grain white rice, uncooked
-
⅓ cup chopped onion
-
1 teaspoon salt
-
½ teaspoon garlic powder
-
½ teaspoon black pepper
-
¼ teaspoon paprika
-
1 pound lean ground beef
-
2 tablespoons canola oil
-
1 tablespoon fresh parsley, chopped (optional, for garnish)
Directions
-
I preheat the oven to 350°F (about 175°C).
-
In a medium bowl, I whisk together the tomato sauce, ½ cup of the water, brown sugar, and Worcestershire sauce, then set it aside.
-
In a large bowl, I combine the uncooked rice, the remaining ½ cup water, chopped onion, salt, garlic powder, black pepper, and paprika. I mix it well to evenly distribute the seasonings.
-
I add in the ground beef and canola oil, gently mixing until just combined—I avoid overmixing to keep the meatballs tender.
-
I shape the mixture into meatballs, using about 1–2 tablespoons for each, and arrange them in a 9×13-inch baking dish, spacing them about 1 inch apart.
-
I pour the prepared tomato sauce over the meatballs, gently shaking the dish to help the sauce spread evenly.
-
I cover the dish with foil and bake for 30 minutes.
-
Then, I remove the foil and bake for another 30–35 minutes until the meatballs are fully cooked through.
-
If I’m feeling fancy, I garnish them with fresh chopped parsley before serving.
Servings and timing
This recipe yields about 30 meatballs, making it perfect for 5 to 6 servings, depending on appetite.
-
Prep Time: 15 minutes
-
Cook Time: 1 hour
-
Total Time: 1 hour 15 minutes
Variations
-
I sometimes swap the ground beef for ground turkey or chicken for a leaner option.
-
For a smoky flavor, I add a touch of smoked paprika instead of regular paprika.
-
If I want a spicy kick, I stir some crushed red pepper flakes into the meat mixture.
-
I’ve even mixed in chopped bell peppers or shredded carrots for extra veggies.
Storage/Reheating
Once cooled, I store leftover meatballs in an airtight container in the fridge for up to 4 days. They reheat beautifully in the microwave or on the stovetop with a splash of water or sauce to keep them moist.
To freeze, I let the meatballs cool completely, then transfer them (with sauce) to a freezer-safe container. They keep well for up to 3 months. I reheat from frozen or thaw them overnight in the fridge and warm up before serving.
FAQs
How do I know when the meatballs are fully cooked?
I use an instant-read thermometer to make sure they’ve reached an internal temperature of 160°F (71°C). The rice inside should be tender, and the sauce bubbly.
Can I use cooked rice instead of uncooked?
I don’t recommend it for this recipe. The magic of porcupine meatballs comes from the rice cooking and expanding inside the meatballs during baking, giving them their signature texture.
Can I make this recipe ahead of time?
Absolutely. I prepare the meatballs and sauce, arrange everything in the baking dish, cover, and refrigerate for up to a day ahead. Then I bake it when ready.
What’s the best way to freeze these?
I flash-freeze the uncooked meatballs on a baking sheet first, then store them in a freezer bag. I either thaw before baking or bake from frozen, just adding a little extra time in the oven.
Can I make this in a slow cooker?
Yes, I can! I place the meatballs and sauce in the slow cooker and cook on low for 5–6 hours or on high for about 3 hours, until the meatballs are cooked through and the rice is tender.
Conclusion
These classic porcupine meatballs are the kind of hearty, homestyle meal I turn to when I want something satisfying and simple. The rich tomato sauce, tender meatballs, and the surprise texture from the rice make it a timeless dish that never goes out of style. Whether I’m feeding family or freezing some for later, this is a recipe I keep coming back to.
Print
Classic Porcupine Meatballs
- Prep Time: 15 minutes
- Cook Time: 1 hour
- Total Time: 1 hour 15 minutes
- Yield: About 30 meatballs
- Category: Main Dish
- Method: Baked in oven
- Cuisine: American
- Diet: Halal
Description
Classic porcupine meatballs baked in a sweet‐savory tomato sauce, with meatballs made from ground beef and uncooked rice that bake and cook through in the sauce.
Ingredients
- 15 ounces tomato sauce
- 1 cup water, divided
- 2 tablespoons light brown sugar
- 2 teaspoons Worcestershire sauce
- ½ cup long‑grain white rice, uncooked
- ⅓ cup chopped onion
- 1 teaspoon salt
- ½ teaspoon garlic powder
- ½ teaspoon black pepper
- ¼ teaspoon paprika
- 1 pound lean ground beef
- 2 tablespoons canola oil
- 1 tablespoon fresh parsley, chopped (optional, for garnish)
Instructions
- Preheat the oven to 350°F (about 175°C).
- In a medium bowl, whisk together tomato sauce, ½ cup water, brown sugar, and Worcestershire sauce – set aside.
- In a large bowl, combine uncooked rice, the other ½ cup water, chopped onion, salt, garlic powder, black pepper, and paprika; mix well.
- Add in the ground beef and canola oil, and gently mix until just combined, taking care not to overmix.
- Shape the mixture into meatballs, about 1‑2 tablespoons each, and place them in a 9×13 baking dish, spacing them about 1 inch apart.
- Pour the prepared tomato sauce over the meatballs, shaking the dish a little to distribute the sauce evenly.
- Cover the baking dish with foil and bake for 30 minutes.
- After 30 minutes, remove the foil and bake for another 30‑35 minutes, or until the meatballs are cooked through.
- Garnish with chopped fresh parsley, if desired, and serve immediately.
Notes
- You can substitute ground turkey or chicken for the beef if preferred.
- Do not overmix the meat mixture – overworking can lead to tougher meatballs.
- Covering during the first half of baking helps the meatballs cook evenly; uncovering later promotes browning.
- Use an instant‑read thermometer to check for doneness; ground beef should reach about 160°F (71°C) internally.
- You can freeze the raw meatballs (flash freeze then store) for later; adjust baking time if cooking from frozen.
- Leftover cooked meatballs freeze well (with sauce), reheat from frozen or thawed.
Nutrition
- Serving Size: 1 meatball
- Calories: 48
- Sugar: 1 g
- Sodium: 161 mg
- Fat: 2 g
- Saturated Fat: 1 g
- Trans Fat: 0 g
- Carbohydrates: 4 g
- Fiber: 1 g
- Protein: 4 g
- Cholesterol: 9 mg
