These Porcupine Meatballs in Tomato Soup combine tender beef meatballs mixed with rice in a rich tomato broth. This one-pan recipe creates a hearty comfort meal that's easy to make!

WANT TO SAVE THIS RECIPE?
Enter your email below and we'll send it straight to your inbox. Plus you’ll get great new recipes from us every week!
🍲This classic recipe brings back all the warm, cozy feelings of home-cooked family dinners with its rich tomato base and tender, flavorful meatballs!
My 2 Best Tips For Making Porcupine Meatballs in Tomato Soup
Rice Type: Use long-grain white rice rather than short-grain for the best texture - it holds its shape better and creates those distinctive "quills" that peek out. Long-grain rice also absorbs the tomato flavors more evenly during cooking. Short-grain rice tends to become mushy and won't give you those signature spiky protrusions that make this dish so recognizable.
Browning Matters: Don't skip the browning step! This creates a beautiful crust that locks in juices and adds incredible depth of flavor to your finished dish. The caramelization that occurs during browning develops complex flavors that can't be achieved any other way. Even just 2 minutes per side makes a dramatic difference in the final taste and appearance of your meatballs.

I always soak my uncooked rice in warm water for 10-15 minutes before mixing it into the meat. This gives the rice a head start on cooking and I get perfectly tender "quills" every time.
Here's my secret trick: I add one small ice cube to my meat mixture while mixing. It keeps everything cool, prevents the fat from warming up, and I end up with incredibly juicy meatballs.
After 30 minutes, I gently pierce a meatball with a fork, and if the rice grains slide off easily, they're perfectly cooked; if they stick, I give it another 10-15 minutes.
Once I take the dish out of the oven, I let it rest for 5 minutes because the rice keeps absorbing liquid and the meatballs get even more tender and flavorful.
🩷 Melissa
WANT TO SAVE THIS RECIPE?
Enter your email below and we will send it straight to your inbox. Plus you will get great new recipes from us every week!

Easy Porcupine Meatballs in Tomato Soup
Ingredients
- 1 pound ground beef
- ½ cup uncooked white rice (long grain)
- 1 teaspoon garlic powder
- 1 teaspoon onion powder
- 1 teaspoon salt
- ½ teaspoon ground black pepper
- 1 tablespoon packed light brown sugar
- ½ cup diced onion
- 1 egg
- 1 cup water
- ½ cup beef broth ((you can substitute with water))
- 1 can condensed tomato soup ((10.75 oz ))
Instructions
- In a large mixing bowl, mix the ground beef, white rice, garlic powder, onion powder, salt, ground black pepper, brown sugar, and diced onion. Mix well until blended.
- Add the egg and mix until it is incorporated into the mixture.
- Using a medium size cookie scoop, scoop the meat mixture into balls.
- Roll in the palm of your hands and place on a plate.
- Preheat the oven to 350 degrees F.
- Warm an oven-proof skillet on medium heat and brown the meatballs for 2 minutes on each side, adding oil if needed to keep the meat from sticking.
- In a separate bowl, whisk together water, beef broth, and tomato soup.
- Once the meatballs are browned, pour the soup mixture over the meatballs.
- Bake covered for 30 minutes.
- Uncover and use a spoon to baste the sauce over the meatballs. Cook for an additional 20-25 minutes or until the meatballs are cooked with an internal temperature of 165 degrees F.
- Serve over cooked rice with a vegetable side dish!
Notes
- Substitute an equal amount of tomato sauce for the tomato soup if needed. You'll want to add more seasonings if using plain tomato sauce.
- Customize your tomato-based sauce with additional herbs and spices like basil, oregano, or garlic powder to match your family's preferences.
- Porcupine meatballs can be cooked in a slow cooker, assemble the meatballs and sauce, then cook on low for 6-8 hours or high for 3-4 hours.
- This dish can be prepped through browning the meatballs and then stored in the fridge for up to 4 days.
- The meatballs are done when they reach an internal temperature of 160°F (71°C). The rice should also be tender, and the meatballs should be firm to the touch.
- Store leftover porcupine meatballs in the refrigerator for up to 4 days in a covered container. You can also freeze uncooked meatballs in a freezer-safe bag for up to 3 months.
- Reheat leftovers in a pan with a hint of water to create moisture for 3 to 4 minutes or until heated through, or warm in the oven in a covered dish.
Nutrition
How to Make Porcupine Meatballs in Tomato Soup

Step 1: Mix ground beef, rice, seasonings, onions, and eggs.

Step 2: Using a medium size cookie scoop, scoop the meat mixture into balls, roll in the palm of your hands, and place on a plate.

Step 3: Brown meatballs on all sides over medium heat in an oven-safe pan.

Step 4: Mix water, beef broth, and tomato soup.

Step 5: Pour sauce mixture over meatballs.

Step 6: Bake covered for 30 minutes. Baste meatballs with pan sauce and bake another 20-25 minutes. Serve hot over rice.
Recipe FAQs
While white rice is traditional and cooks perfectly in the allotted time, you can use brown rice if you prefer. Just note that it may need an extra 10-15 minutes of cooking time to become tender.
Porcupine meatballs get their name from the appearance of the rice in the meatballs, which resembles the quills of a porcupine as they cook and stick out of the meat.
Yes, ground turkey or chicken can be used as a substitute for ground beef. Adjust cooking times as needed since poultry cooks differently than beef.
No problem! Brown the meatballs in a regular skillet, then transfer them to a baking dish. Pour the soup mixture over top and continue with the recipe as directed.
More Favorites From Longbourn Farm
Did you make this recipe? Leave a ⭐️ review and share it on Instagram, Facebook, or Pinterest!












