This post may contain affiliate links. Please read our disclosure policy.
A homemade take on the classic, One-Pot Spaghetti-O’s with Mini Meatballs is a total family crowd-pleaser. It’s great with a simple side salad on any weeknight!

I am obsessed with this dinner — and so are my kids. With that iconic O-shaped pasta, mini meatballs, and tons of fresh herbs, it’s a delicious, homemade version of something so nostalgic. And while it’s not quite as easy as heating up a can of soup for dinner, this dish does come together in just one pot in under an hour, which is pretty hard to beat (especially on busy weeknights).
Not only will you zhush up a jar of marinara sauce, but you’ll also make the meatballs from scratch. I prefer to use 90% lean, 10% ground beef, which has enough fat to deliver flavor and juiciness without too much excess grease. To the meatball mixture, I like to add freshly minced garlic, grated Parmesan cheese, breadcrumbs, and basil to for more flavor and texture. Think of this as a blueprint for other beef meatballs, which you can serve so many ways throughout the week.
To make this dish even easier, you can “cheat” and use store-bought mini frozen meatballs instead of making your own here! However, if you have the time to make them yourself, I promise it’ll be worth the effort.
Ingredients:
- Ground Beef
- Large Egg
- Kosher Salt
- Freshly Ground Black Pepper
- Garlic Cloves
- Basil Leaves
- Milk
- Grated Parmesan Cheese
- Panko Breadcrumbs
- Extra-Virgin Olive Oil
- Yellow Onion
- Marinara Sauce
- Low-Sodium Beef Broth
- Parsley Leaves
- Coconut Sugar
- Small Pasta (such as anellini, ditalini, stellini, or orzo)
- Crushed Red Pepper Flakes (optional)
step-by step:
step one: make the mini meatballs
In a large bowl, combine the ground beef, egg, salt, pepper, garlic, basil, milk, Parmesan, and breadcrumbs. Use your hands to mix until combined. Roll into 1/2-inch round meatballs.
step two: cook the mini meatballs
Heat the olive oil in a large, deep skillet or braiser over medium-high heat. Working in batches as necessary, add the meatballs and cook until browned all over, about 2 minutes per side. They don’t have to be completely cooked through, but they should be nicely browned. Transfer to a clean plate and set aside.

step three: make the sauce
Reduce the heat to medium-low and add more oil to the skillet, if needed.
Add the onion and garlic. Cook, stirring, until tender, about 3 minutes. Pour in the marinara and broth. Stir to combine. Add the basil, parsley, coconut sugar, Parmesan and salt. Stir until well combined. Bring to a gentle simmer over medium to medium-low heat, 3 to 4 minutes.
step four: cook the pasta
Pour in the pasta and cook, stirring frequently, until the pasta is very al dente and it has absorbed a lot of the sauce, 8 to 10 minutes. The pasta easily sticks to the bottom if you leave it simmering without stirring, so don’t leave it unattended and lower heat as needed.

step five: add the meatballs
Add the meatballs and any of their juices back into the pot and stir to combine. Continue to cook, stirring frequently, until the meatballs are fully cooked through and the pasta is tender, about 6 minutes.
Remove from heat, cover, and let rest for about 2 minutes before serving. This just helps the pasta soak up the sauce a little more and settle!

step six: garnish and serve
Remove from heat, garnish with more basil and crushed red pepper flakes, if using, and serve!

Recipe fAQs:
Yes! To reheat, add the pasta and meatballs to a skillet over medium-low heat with a splash or two of broth to help rehydrate the pasta and bring it back to life!
Yes! You can use chicken broth instead.
These One-Pot Spaghetti-O’s with Mini Meatballs is such a hit at my table. I hope your family loves it as much as mine does!
For more one-pot recipes, try these:
One-Pan Italian Sausage and Orzo
One-Pan Salmon with Herb Butter Couscous

One-Pot Spaghetti-O’s with Mini Meatballs
Ingredients
For the Mini Meatballs:
- 1 pound ground beef (90/10)
- 1 large egg, beaten
- 1 teaspoon kosher salt
- 1/2 teaspoon freshly ground black pepper
- 2 garlic cloves, minced
- 1 tablespoon finely chopped fresh basil leaves, plus more for garnish
- 1 tablespoon milk
- 1/4 cup grated Parmesan cheese
- 1/4 cup panko breadcrumbs
- 2 tablespoons extra virgin olive oil, plus more as needed
For the Sauce:
- 1/2 cup finely diced yellow onion
- 4 garlic cloves, minced
- 1 (25-ounce) jar marinara
- 2 cups low-sodium beef broth
- 1/4 cup freshly torn basil leaves
- 2 tablespoons roughly chopped parsley leaves
- 1 tablespoon coconut sugar
- 1/2 cup grated Parmesan cheese
- 1 teaspoon kosher salt
- 2 cups small pasta (such as anellini, ditalini, stellini, or orzo)
- Crushed red pepper flakes, optional, for serving
Instructions
Make the Mini Meatballs:
- In a large bowl, combine the ground beef, egg, salt, black pepper, garlic, basil, milk, Parmesan, and breadcrumbs. Use your hands to mix until combined. Roll into 1/2-inch round meatballs.
- Heat the olive oil in a large, deep skillet or braiser over medium-high heat. Working in batches as necessary, add the meatballs and cook until browned all over, about 2 minutes per side. They don’t have to be completely cooked through, but they should be nicely browned. Transfer to a clean plate and set aside.
Make the Pasta:
- Reduce the heat to medium-low and add more oil to the skillet, if needed.
- Add the onion and garlic. Cook, stirring, until tender, about 3 minutes. Pour in the marinara and broth. Stir to combine. Add the basil, parsley, coconut sugar, Parmesan, and salt. Stir until well combined. Bring to a gentle simmer over medium to medium-low heat, 3 to 4 minutes.
- Pour in the pasta and cook, stirring frequently, until the pasta is very al dente and has absorbed a lot of the sauce, 8 to 10 minutes. The pasta easily sticks to the bottom if you leave it simmering without stirring, so don’t leave it unattended and lower heat as needed.
- Add the meatballs and any of their juices back into the pot. Stir to combine. Continue to cook, stirring frequently, until the meatballs are fully cooked through and the pasta is tender, about 6 minutes.
- Remove from heat, cover, and let rest for about 2 minutes before serving. This just helps the pasta soak up the sauce a little more and settle!
- Remove from heat, garnish with more basil and crushed red pepper flakes, if using, and serve!
Nutrition
Nutrition information is automatically calculated, so should only be used as an approximation.
Photography and styling by Eat Love Eats.




A link for the pasta is appreciated. I didn’t see it.
Here you go: https://amzn.to/3JUKPI8
Hi! If I use frozen mini meatballs, how wiuld you recommend adding them? Cook first or add as frozen? Thanks!
Was there an older version of this that used kettle & fire tomato soup? I loved that recipe so much but can’t find it on the site anymore!
I had an old version on my IG years ago with them, yes!
Made with dried herbs (1/2tsp each of basil and parsley) and subbed chicken broth instead of beef since it’s all we had and wow!! Delicious!!
So glad the substitutions worked!
This was fantastic! My whole family loved it! The only change I made was substitute half of a grated carrot for the coconut sugar (I was out). This will definitely be going into our dinner rotation!
Love to hear that, Stacey!
We loved this as usual with your recipes! We subbed to he pasta for the goodles cavatappi pasta and used dried herbs since that’s what we had. It was delicious!!
Could I leave out the parmesan and sub a different milk to make dairy free?
My family inhaled this tonight! What a great cleaned up version of something so nostalgic.
so glad it was a hit!
Can’t wait to try this. What brand of anellini pasta do you use? I feel like the one I’ve tried takes forever to cook!
I use this brand!
Recipe looks good but don’t have coconut sugar and could use regular sugar
Yes, regular granulated sugar will work! White sugar is sweeter so you may want to start with half the amount and adjust accordingly.
yes you can!