why make this recipe
Porcupine meatballs are simple, filling, and easy to cook for a weeknight dinner. They mix meat and rice in one bite and make a cozy sauce. If you like home-style meals, this one fits well with casseroles like a comforting casserole for a full dinner plan.
introduction
This recipe makes tender meatballs with rice inside and a mild tomato sauce. You can use beef or any ground meat you like. The dish is quick to mix and slow to simmer so flavors join well. If you want a different meatball method, try tips from a simple baking guide for timing and temperature ideas.
how to make Classic Porcupine Meatballs
Mix the meat, rice, onion, egg, and seasonings. Shape into balls, brown them, then simmer in tomatoes and broth. For a different sauce or method, you can learn from a classic noodle and meatball approach at a step-by-step spaghetti and meatballs guide and adapt the simmer time.
Ingredients :
1 pound ground beef (or your meat of choice), ½ cup uncooked long-grain rice, 1 small onion, finely chopped, 1 egg, 1 teaspoon garlic powder, 1 can (15 oz) diced tomatoes, 1 cup beef broth, Salt and pepper to taste
Directions :
In a large bowl, combine the ground meat, uncooked rice, chopped onion, egg, garlic powder, and a sprinkle of salt and pepper. Mix until well combined., Form the mixture into golf ball-sized meatballs., In a large skillet over medium heat, add a bit of oil and brown the meatballs on all sides for about 5 minutes., Pour the canned diced tomatoes (juice and all) into the pan, along with the beef broth, and gently stir to combine., Cover the skillet and let it simmer for about 30 minutes., Serve the meatballs over mashed potatoes, rice, or pasta.
how to serve Classic Porcupine Meatballs
Serve hot over mashed potatoes, rice, or pasta. The tomato sauce soaks into the rice inside the meatballs and into the base you choose. For a spicy or sweet twist on meatballs that pairs well with rice or pasta, see a spicy honey-sriracha meatball idea and adjust flavors to taste.
how to store Classic Porcupine Meatballs
Cool the meatballs to room temperature. Put them in an airtight container and keep in the fridge for up to 3 days. For longer storage, freeze in a sealed container for up to 3 months. Thaw in the fridge before reheating gently on the stove.
tips to make Classic Porcupine Meatballs
- Do not cook the rice first; use uncooked long-grain rice so it cooks inside the meatballs.
- Brown the meatballs first to add flavor and keep them from falling apart.
- Simmer gently and covered so the rice cooks through without drying out.
- If you want a firmer meatball, chill them 15 minutes before browning.
- For more sauce depth, stir in a teaspoon of Worcestershire or a bay leaf while simmering. You can also adapt methods from a pot-based meatball recipe at a Dutch oven meatball guide.
variation (if any)
- Swap ground beef for ground turkey or pork.
- Add 1/4 cup grated Parmesan or 2 tablespoons chopped parsley to the meat mix.
- Use tomato sauce instead of diced tomatoes for a smoother gravy.
- Add frozen peas or carrots to the sauce for extra veg.
FAQs
Q: Can I use pre-cooked rice?
A: No. Use uncooked rice so it cooks inside the meatballs and swells to give the “porcupine” texture.
Q: How do I know the rice is cooked inside?
A: Simmer covered about 30 minutes and check one meatball by cutting it open. The rice should be tender.
Q: Can I bake these instead of browning on the stove?
A: Yes. Brown in a pan or bake at 375°F (190°C) for 20 minutes, then add sauce and bake another 15–20 minutes until rice is done.
Q: Are these freezer-friendly?
A: Yes. Freeze cooked meatballs in sauce in a sealed container for up to 3 months.
Q: Can I make them smaller or larger?
A: Yes. Adjust cooking time: smaller meatballs need less simmer time, larger need more.

Porcupine Meatballs
Ingredients
Method
- In a large bowl, combine the ground meat, uncooked rice, chopped onion, egg, garlic powder, and a sprinkle of salt and pepper. Mix until well combined.
- Form the mixture into golf ball-sized meatballs.
- In a large skillet over medium heat, add a bit of oil and brown the meatballs on all sides for about 5 minutes.
- Pour the canned diced tomatoes (juice and all) into the pan, along with the beef broth, and gently stir to combine.
- Cover the skillet and let it simmer for about 30 minutes.
- Serve the meatballs over mashed potatoes, rice, or pasta.