Classic Porcupine Meatballs in Tomato Sauce
Photo by ERIVELTO Martins on Pexels

Classic Porcupine Meatballs in Tomato Sauce

From the MyKitchenBank Kitchen

Tender beef meatballs studded with long-grain rice that cooks right inside them, simmered in a savory Worcestershire-spiked tomato sauce until the rice pokes out like porcupine quills. Cozy, budget-friendly, and made in one pan.

Prep
20 min
Cook
1 hr 5 min
Wait
5 min
Total
1 hr 30 min
Makes
About 24 meatballs (6 servings)

Steps

Before you start
  • Use UNCOOKED long-grain white rice and do not rinse it. The rice cooks inside the meatballs by absorbing sauce as they simmer.
  • Choose a deep 12-inch (30 cm) skillet with a tight lid, or a 5-quart (4.7 L) heavy-bottomed pot with a lid, so the meatballs sit in one snug layer and are mostly covered by sauce.
  • Use 80/20 ground beef. Leaner beef makes drier meatballs.
  • Plan on about 90 minutes from start to table; 42 minutes of that is unattended simmering. This recipe is cooked entirely on the stovetop, so no oven is needed.
  1. Prep the onions

    • Peel the onions.
    • Finely grate half of one onion on the large holes of a box grater into a large mixing bowl, including all the juices.
    • Finely dice the whole remaining onion and set it aside on a plate.
    • Mince the garlic.
    + Show details

    Ready when: Grated onion looks wet and pulpy; diced pieces are about ¼ inch (6 mm).

    Tip: Grating the onion for the meatballs keeps it from leaving crunchy chunks and adds moisture.

  2. Mix the meatballs

    • To the grated onion, add the egg, uncooked rice, 1 tbsp (15 ml) of the Worcestershire sauce, 1¼ tsp kosher salt, the pepper, and garlic powder.
    • Stir with a fork to combine.
    • Add the cold ground beef and mix gently with your hands for about 30 seconds, just until the rice and seasonings are evenly distributed.
    + Show details

    Ready when: Mixture holds together when squeezed, with no streaks of egg or pockets of dry seasoning.

    Tip: Overmixing makes tough, rubbery meatballs. Stop as soon as everything is evenly combined.

  3. Shape the meatballs

    • Scoop about 2 tablespoons (40 g) of the mixture and roll it between damp palms into a smooth 1½-inch (4 cm) ball.
    • Place on a rimmed baking sheet or plate.
    • You should get about 24 meatballs.
    • Rinse and re-dampen your hands as needed to stop sticking.
    + Show details

    Ready when: Balls are uniform in size, with rice grains tucked in or lightly poking out.

    Tip: Keep the balls roughly the same size so they finish cooking at the same time. Don't pack them tightly.

  4. Soften the aromatics

    • Heat the olive oil in a deep 12-inch (30 cm) skillet or 5-quart (4.7 L) heavy pot over medium heat until it shimmers.
    • Add the diced onion and cook, stirring often, for about 4 minutes.
    • Add the garlic and stir for 30 seconds more.
    + Show details

    Ready when: Onion is soft and translucent with no browning, and the garlic smells fragrant but is not brown.

    Tip: If the garlic starts to brown, lower the heat right away. Browned garlic turns bitter.

  5. Build the sauce

    • Pour in the tomato sauce and water.
    • Add the remaining 2 tbsp (30 ml) Worcestershire sauce, the brown sugar, and ½ tsp kosher salt.
    • Stir well, scraping the bottom of the pan, and bring to a gentle simmer over medium-high heat, about 4 minutes.
    + Show details

    Ready when: Small bubbles break steadily around the edges of the pan.

    Tip: The sauce will seem thin. That's right, because the rice will absorb a good amount of it.

  6. Add the meatballs

    • Reduce the heat to medium-low.
    • Gently place the meatballs into the sauce one at a time in a single snug layer, spooning a little sauce over any that sit above the surface.
    • Don't stir.
    • Let the sauce return to a bare simmer.
    + Show details

    Ready when: Sauce is bubbling lightly around and between the meatballs.

    Tip: Don't stir now. Raw meatballs are fragile and will break apart until they firm up in the sauce.

  7. Cover and simmer

    • Cover tightly and reduce the heat to low so the sauce barely bubbles.
    • Simmer for 45 minutes.
    • At about the 25-minute mark, lift the lid and gently roll each meatball over with a spoon, then re-cover.
    • Do not lift the lid at other times, so the steam stays in to cook the rice.
    + Show details

    Ready when: After 45 minutes the rice grains are puffed and tender when you bite one, and a meatball cut open shows no pink.

    Tip: If the sauce is boiling hard or sticking, lower the heat and add a splash of water.

  8. Check and thicken

    • Insert an instant-read thermometer into the center of 2 or 3 meatballs; they must read at least 160°F (71°C).
    • Taste a rice grain to confirm it's tender.
    • Then remove the lid, raise the heat to medium, and simmer 5–8 minutes, spooning sauce over the meatballs, to thicken.
    • Taste the sauce and add a pinch of salt if needed.
    + Show details

    Ready when: Meatballs register 160°F (71°C); sauce coats the back of a spoon and leaves a clear trail when you drag a spoon across the pan bottom.

    Tip: If the rice is still firm but the meatballs are cooked, re-cover and simmer on low 5–10 more minutes.

  9. Rest and serve

    • Turn off the heat and let the meatballs rest in the sauce for 5 minutes so the sauce settles and thickens slightly.
    • Sprinkle with the chopped parsley and serve hot with mashed potatoes, buttered egg noodles, or crusty bread.
    + Show details

    Ready when: Sauce has stopped bubbling and clings to the meatballs.

Good to know

Tips
  • Use raw, un-rinsed rice. Rinsing removes surface starch that helps bind the meatballs.
  • Don't lift the lid often during the simmer. The trapped steam is what cooks the rice through.
  • Shape meatballs with damp hands and keep them loose. Packing them tight leaves the rice undercooked in the center.
  • If the sauce reduces too much during simmering, stir in a few tablespoons of hot water to loosen it.
Make ahead

Shape the raw meatballs up to 8 hours ahead, cover, and refrigerate on the baking sheet. Add them to the simmering sauce straight from the fridge and add about 5 minutes to the simmer time. The fully cooked dish also reheats well and tastes even better the next day.

Storage & reheating

Room temperature: no more than 2 hours. Refrigerator: cool and store in an airtight container with the sauce for up to 4 days. Freezer: freeze meatballs in sauce for up to 3 months; thaw overnight in the fridge. Reheat gently in a covered saucepan over low heat with a splash of water, stirring rarely, until steaming hot (165°F / 74°C), about 10–15 minutes. The rice keeps absorbing sauce, so add water as needed.

Substitutions
  • 80/20 ground beef → Half ground beef and half ground pork, or ground turkey (93/7). Pork adds richness. Turkey is leaner and can be drier, so add 1 tbsp olive oil to the mixture. Cook to 165°F (74°C) if using turkey.
  • long-grain white rice → Medium-grain white rice. Works the same way. Don't use instant rice (turns mushy) or brown rice (needs much more liquid and time).
  • Worcestershire sauce → Soy sauce, same amount. Gives a similar savory depth, though it will taste slightly saltier, so reduce the added salt in the sauce a little.
  • plain tomato sauce → One 28 oz (800 g) can crushed tomatoes plus 1 cup (240 ml) water. Gives a chunkier, more rustic sauce. Increase the water to 1¼ cups (300 ml) as needed.

More meatballs

See all →

Find more like this

Meal
Dinner
Cuisine
American
Main ingredient
Ground BeefRice
Method
Stovetop
Quick & Easy
EasyOne-PotBudget

Reviews (0)