Porcupine Meatballs are a one-pan, old-fashioned dinner that delivers big comfort with minimal effort. Simmered low and slow in a savory tomato sauce, the meatballs cook the rice right inside—no pre-boiling, no baking, no extra dishes. This version is ideal for busy weeknights, small kitchens, or anyone who wants comforting, classic flavors. It’s also budget-friendly and family-approved.

Porcupine meatballs are a nostalgic recipe from generations past, with meatballs made of ground beef and rice simmered in tomato sauce. The name comes from the rice that sticks out of the meatballs like porcupine quills. Not only are they yummy and filling, they’re also incredibly easy to make in just one pan. The meatballs themselves are actually pretty similar to my easy homemade meatballs, with the addition of the rice and broth to cook the rice.
Recipes like these porcupine meatballs and hamburger potato casserole are great examples of using cheap ingredients like potatoes or rice to stretch more expensive ingredients, like ground beef, without skimping out on flavor.
Why I Love This Porcupine Meatballs Recipe
- One-pan dinner. The rice is cooked right in the meatballs and the meatballs simmer in the sauce, which means this entire meal comes together in one single pan. That means less effort in the prep and fewer dishes to wash after dinner.
- Budget-friendly. Porcupine meatballs is a recipe that most of our parents and grandparents probably made during hard times. It was meant to be both filling and cheap to prepare. The rice helps stretch the ground beef (the more expensive ingredient) and broth makes the sauce go a bit further too.
- Tasty comfort food. Perhaps most important, these meatballs just taste really good. The sauce is savory and perfectly seasoned and the rice makes it extra filling. It definitely falls into the “comfort food” category!
Key Ingredients
These meatballs are made with cheap and easy-to-find ingredients. Be sure to scroll down to the recipe card at the end of the post for the exact measurements.

For the Meatballs
- Ground beef – Use lean ground beef, such as 80/20 or 90/10, to avoid excess grease.
- Egg – Helps bind the meatballs together.
- Broth – Adds moisture to the meatballs that gets absorbed by the rice as it cooks. Beef, chicken, or vegetable broth all work. Use what you have on hand!
- Onion – Diced onion helps add flavor to the meatballs.
- Rice – Be sure to use long grain rice. It cooks right in the meatballs, so there’s no need to cook it first.
- Spices – Italian seasoning, kosher salt, and black pepper.

For the Sauce
- Broth – Just like in the meatballs, beef, chicken, or vegetable broth all work.
- Aromatics – Diced onion and minced garlic.
- Rice – Be sure to use long grain rice. It cooks right in the meatballs, so there’s no need to cook it first.
- Spices – Garlic powder & dried basil
- Tomato sauce – Regular, unseasoned tomato sauce is the base of our sauce.
- Worcestershire sauce – Adds savory umami flavor to the sauce.
- Brown sugar – The brown sugar here is optional, but is great for reducing the acidity of the tomato sauce (especially when using canned sauce) and also adds a little depth of flavor thanks to the hint of molasses. If you prefer to avoid the added sugar, you may choose to use a splash of milk or cream or even grated carrots.
How To Make Porcupine Meatballs
This recipe is perfect for busy weeknights because the hands-on prep time in quick and easy. The printable instructions can be found in the recipe card below.



- Make the meatball mixture. Combine the meatball ingredients in a bowl with a large spoon or your hands until evenly mixed.
- Shape the meatballs. Portion the mixture into evenly sized meatballs, approximately the size of a golf ball. (Roughly 2 Tablespoons each.) Place on a plate.



- Start the sauce. Heat the oil over medium. Cook the onions for 3 minutes then add the garlic and cook for another minute. Pour in the tomato sauce, broth, Worcestershire sauce, brown sugar, and spices. Whisk well. Bring to a strong simmer.
- Simmer. Add the meatballs once the sauce is simmering, leaving a little space between them. Return to a simmer, cover, and reduce the heat to low. Simmer for 45 minutes.
- Continue cooking. After 45 minutes, stir the edges of the sauce. Add more broth if it’s looking too dry and thick. Continue simmering for another 15 minutes, until the rice is tender and the meatballs have reached an internal temperature of 160F.
- Let rest. Remove the meatballs from the heat. Let rest for 10 minutes then garnish and serve.

Can I Make These In The Oven?
Absolutely! Coat the sides and bottom of a braising pot, Dutch oven, or casserole dish with non-stick spray. Assemble the meatballs and sauce as directed. Cover and bake for 1 hour and 15 minutes at 350F. (or until the internal temperature reaches 160F and the rice is tender)
Recipe Tips & Tricks
Here are a few important things to keep in mind when making this porcupine meatballs recipe, including a few shortcut options.
- Soft meatballs are okay here. The added broth, making the mixture gooey, is not a mistake. As the meatballs cook, the uncooked rice absorbs all of that extra liquid and releases starch, which will firm everything up perfectly
- Do not use par-boiled or instant rice. Par-boiled, converted, minute, or pre-cooked rice will not absorb liquid the same way and often turns mushy. Porcupine meatballs rely on raw, long-grain rice slowly cooking inside the meatball to firm up and create the proper texture. This is not the shortcut you want to make.
- Start with a prepared sauce. To save a few minutes of prep time, you may choose to replace the homemade sauce with 2 ½ to 3 cups of prepared marinara or spaghetti sauce. Try to choose one that is not overly thick. If necessary, thin the sauce with broth, a few tablespoons at a time so the rice can cook properly.
- The meatballs cook before the rice. After the first 45 minutes of cooking, the meatballs themselves will likely be done and have reached 160F. However, the rice is usually not done at this point and needs the extra 15 minutes or so of cook time.
- Adjust the sauce if needed. If the sauce is a bit thick and dry after 45 minutes, just gently stir in a few extra tablespoons of broth. If it’s too thin for any reason, simply simmer without the lid for 10 minutes or so.

Serving Suggestions
This porcupine meatballs recipe is meant to be a budget-friendly meal, so keep it simple. Serve over white rice or buttered noodles, with mashed potatoes, or to keep the carbs low, serve alongside green beans or fried cabbage.
Make Ahead & Storage
- Make ahead: To make porcupine meatballs in advance, assemble the meatballs and prepare the sauce, but keep them separate. Cover tightly and refrigerate for up to 24 hours or freeze for up to 30 days.
- Fridge: Leftover porcupine meatballs can be stored in an airtight container in the fridge for 3-4 days.
- Freezer: Once cooked and cooled, they can also be frozen in an airtight container for up to 3 months.
- Reheat: On the stovetop, gently simmer on medium-low until heated through, adding a little extra broth or water as needed since the sauce will likely have thickened quite a bit. If using a microwave, heat in short intervals (no longer than one minute at a time), stirring the sauce between rounds.

Porcupine Meatballs
Ingredients
Meatballs
- 1 pound lean ground beef
- 1 large egg
- 1/2 cup broth beef, chicken or veg
- 1/3 cup onion finely diced
- 1/2 cup long-grain rice uncooked
- 1 teaspoon Italian seasoning
- 1/2 teaspoon kosher salt
- 1/2 teaspoon freshly ground black pepper
Sauce
- 2 tablespoons avocado oil or olive oil
- 2/3 cup chopped onion
- 1 ½ tablespoons minced garlic
- 15 ounces tomato sauce
- 1 cup broth beef, chicken or veg
- 1 Tablespoon Worcestershire sauce
- 1 teaspoon brown sugar optional
- ½ teaspoon garlic powder
- ½ teaspoon dried basil
- 1 Tablespoon fresh parsley chopped, for garnish, optional
Instructions
- In a large mixing bowl, combine the ground beef, egg, ½ cup of broth, diced onion, uncooked rice, Italian seasoning, salt, and pepper. Use a large sturdy spoon to mix, or work it with your hands, until it is evenly combined.
- Portion the meat mixture into evenly sized meatballs using a #40 scoop (about 2 tablespoons, or golf-ball sized), and set them aside on a plate or serving dish. If you don’t have a scoop, simply shape the meatballs by hand, keeping them uniform in size for even cooking.
- (Please note that these meatballs will be more wet and soft than traditional meatballs due to the extra broth required to cook the rice. But rest assured, they will bake up nice and firm.)
- In a large (deep) skillet, heat the oil over medium heat. Add the chopped onions and sauté for about 3 minutes until they become soft and translucent. Add the minced garlic and sauté for another minute.
- Pour in the tomato sauce, broth, Worcestershire sauce, brown sugar (if using), garlic powder, and basil to the pan and stir or whisk well.
- Once the sauce comes to a strong simmer, gently place the meatballs in the pan, leaving a little space in between.
- Let the sauce return to a simmer, cover the skillet (with the lid or some aluminum foil), reduce the heat to low, and simmer for 45 minutes.



Leave a Review!
We LOVE hearing from you! Submit your question or comment here.
Your email address will not be published.