Porcupine Meatballs are a timeless comfort food recipe that has been passed down through generations, combining seasoned ground beef with uncooked rice that cooks right inside the meatballs.
As the rice expands during cooking, it peeks through the surface, giving these classic meatballs their signature “porcupine” appearance.
Simmered in a rich tomato sauce, they’re tender, hearty, and packed with old-fashioned flavor.
Perfect for busy weeknights or cozy family dinners, these meatballs require simple pantry ingredients and minimal prep while delivering a meal that tastes like it’s been cooking all day.
Serve them over mashed potatoes, buttered noodles, or alongside warm crusty bread to soak up every bit of the savory tomato sauce.
Prep Time: 15 minutes
Cook Time: 55 minutes
Total Time: 1 hour 10 minutes
Servings: 4
Yield: 12 meatballs
Ingredients
- 1 pound lean ground beef
- 1/2 cup uncooked long-grain white rice
- 1/2 cup water
- 1/3 cup finely 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
- 1 (15-ounce) can tomato sauce
- 1 cup low-sodium chicken stock, plus extra if needed
- 2 teaspoons Worcestershire sauce
- 1 teaspoon granulated sugar
Directions
- In a large mixing bowl, combine the ground beef, uncooked rice, water, chopped onion, kosher salt, celery salt, garlic powder, and black pepper. Mix gently until all ingredients are evenly incorporated without overworking the meat.
- Shape the mixture into 12 evenly sized meatballs.
- Heat the canola oil in a large skillet over medium-high heat. Add the meatballs and cook for about 8 minutes, carefully turning halfway through, until browned on all sides. Drain any excess grease from the skillet.
- Pour the tomato sauce, chicken stock, Worcestershire sauce, and sugar into the skillet with the browned meatballs. Stir gently to combine.
- Reduce the heat to medium-low, cover, and simmer for about 45 minutes, or until the meatballs are fully cooked and the rice is tender. If the sauce thickens too much during cooking, stir in additional chicken stock as needed to maintain a rich, spoonable consistency.
- Serve hot with mashed potatoes, buttered egg noodles, steamed rice, or fresh bread for a complete, comforting meal.
- Optional Oven Method: After browning the meatballs, transfer them to a baking dish. Pour the prepared sauce over the top, cover tightly with foil, and bake at 350°F (175°C) for 50 to 60 minutes, or until the meatballs are cooked through and the rice is tender.
Chef’s Notes
- Long-grain white rice works best for achieving the traditional texture and appearance.
- Avoid overmixing the meat mixture to keep the meatballs tender.
- If you prefer a richer tomato flavor, stir a tablespoon of tomato paste into the sauce before simmering.
- Leftovers taste even better the next day as the flavors continue to develop.
- This recipe freezes beautifully. Cool completely before freezing in an airtight container for up to 3 months.