This is a ground beef spaghetti and meatballs built for a weeknight — a quick tomato sauce with chopped onion and portobello mushrooms, plus tender meatballs made with fresh breadcrumbs from stale ciabatta. The honest reason to make it: the sauce comes together in under 15 minutes, the meatballs stay genuinely moist, and the whole thing costs less than most takeout orders.
The technique that matters
The single technique worth your attention here is how you mix the meatballs. Overworking ground beef tightens the proteins and gives you a dense, rubbery result. Mix just until the breadcrumbs, egg, and seasonings are combined — stop the moment you don’t see dry patches. The fresh breadcrumbs are doing real work: they absorb moisture from the egg and meat juices during cooking, which keeps the interior soft. Dried store-bought crumbs can do this too, but they absorb faster and can make the mix feel stiff before you’ve even shaped anything, so use slightly less if that’s what you have. Skip the garnish — not worth the extra dish. Get the meatballs into the sauce and serve.
Shopping notes
- Ciabatta for breadcrumbs: Any sturdy white bread that’s a few days old works — a baguette end, sourdough, or a plain sandwich roll. Avoid soft enriched breads like brioche; they go gummy. Pulse in a food processor or just grate on a box grater.
- Portobello mushrooms: Cremini or plain white button mushrooms are a straight swap and usually cheaper. They’ll break down into the sauce the same way. Dried porcini (rehydrated) also work and add more depth if you have them on hand.
- Canned tomatoes: If your pantry has crushed, diced, or whole peeled, any of them work here. Crush whole tomatoes by hand before adding. Passata (tomato purée) makes a smoother sauce with a slightly milder flavor.
What can go wrong
- Meatballs fall apart in the sauce: This usually means the mixture was too wet or the meatballs went into the sauce before they had any structure. Brown them in a pan first — even 2 minutes per side builds a crust that holds them together during simmering.
- Sauce tastes flat or acidic: A pinch of sugar fixes sharp canned tomatoes. If you don’t want to add sugar, a small knob of butter stirred in at the end rounds out the acidity just as well.
- Meatballs are cooked outside but raw in the middle: Ground beef must reach 160°F (71°C) internally. If you’re not using a thermometer, cut one open — no pink, juices run clear. Oversized meatballs are the usual culprit; keep them uniform so they cook evenly.
- Watery sauce: Mushrooms release a lot of liquid. If the sauce looks thin after adding them, just let it simmer uncovered for a few extra minutes before adding the meatballs. It will tighten up.
- Pasta clumps while you finish the meatballs: Toss the drained spaghetti with a small splash of the pasta cooking water and a drizzle of olive oil right away. It buys you several minutes without sticking.
Make-ahead notes
The sauce keeps well in the fridge for up to 4 days in a sealed container — the mushroom and onion flavor actually improves overnight. Cooked meatballs stored separately in the fridge stay good for 3 days; reheat them gently in the simmering sauce rather than the microwave so they don’t dry out. For the freezer, cool everything completely, then freeze sauce and meatballs together for up to 3 months. Thaw overnight in the fridge and reheat on the stovetop over medium-low, adding a splash of water if the sauce has thickened too much. Raw shaped meatballs can also be frozen on a tray, then transferred to a bag — cook from frozen by adding a few extra minutes to the simmering time and confirming they hit 160°F (71°C) before serving.

Super Easy Spaghetti And Meatballs Again
Ingredients
TO MAKE THE SAUCE:
2 tablespoons olive oil
1 large sweet onion - chopped
10 ounce portobello mushrooms - chopped
½ stick unsalted butter
2 cans passata or crushed tomatoes (tomato puree with seeds removed) - 28-ounce per can
TO MAKE THE MEATBALLS:
1 cup breadcrumbs
½ cup milk
½ pound ground beef (minced beef)
½ pound Italian sausage (American name for Pork Sausage with Fennel Seeds)
1 cup Parmesan cheese
½ cup parsley
½ teaspoon salt
½ teaspoon ground black pepper
2 large egg
2 large garlic - chopped fine
1 pound spaghetti
1 handful Parmesan cheese - to serve over your spaghetti
Instructions
For the sauce:
- 1 .In a large stock pot, heat your olive oil over medium heat and add your onions, stirring to coat.
- Add your mushrooms, and continue stirring until your onions and mushrooms become limp and are starting to brown.
- Add the butter and stir until blended in. Add your 2 cans of crushed tomatoes to a boil over medium heat.
- Reduce heat to simmer and continue cooking uncovered while you prepare your meatballs.
For the meatballs:
- Pulse day old french bread (crust omitted) in a food processor until fine.
- Combine breadcrumbs and milk in a small bowl stirring until breadcrumbs are evenly moistened. Set aside and rest for 10 minutes.
- Place your beef and pork in a large bowl and break into small chunks. Add 1 cup of parmesan cheese, parsley, salt, and pepper.
- Whisk eggs with garlic in a small bowl and add to the meat mixture.
- Using your hands quickly and gently combine the mixture until all ingredients are combined, being careful not to over mix. Cover and chill in the refrigerator for 15 minutes to one hour.
- Roll your meatballs into a small golf ball size ball and place into your sauce in one layer. Bring meatballs and sauce to a simmer, cover and continue cooking until meatballs are cooked through, 30 to 45 minutes.
- Bring a large pot of salted water to a boil and cook your spaghetti al dente.
- Drain and divide into pasta bowls or a large pasta platter. Pour sauce and meatballs over. Sprinkle with freshly grated parmesan cheese. Serve immediately.
Nutrition
FAQ
Can I use a different type of ground meat instead of beef?
Yes — ground pork, a beef-pork blend, or ground turkey all work in this recipe. If you use ground turkey or chicken, cook the meatballs to 165°F (74°C) internal temperature and don’t serve them pink; they’ll also benefit from an extra tablespoon of olive oil in the mix to compensate for the lower fat content.
Do I have to use fresh breadcrumbs, or can I use dried?
Dried breadcrumbs work fine — use about two-thirds of the amount called for fresh, since they’re denser and absorb liquid faster. Plain dried crumbs from a canister are a perfectly reasonable substitute; seasoned ones can work too, just cut back on any added salt in the recipe.
Can I make this without portobello mushrooms if I don’t have any?
Absolutely — just leave them out, or replace them with a finely diced zucchini or a handful of frozen spinach squeezed dry. The sauce will be a little thinner without the mushrooms, so let it simmer a couple of extra minutes to reduce.
How do I know when the meatballs are fully cooked through?
The most reliable method is a meat thermometer — ground beef needs to reach 160°F (71°C) at the center. If you don’t have one, cut the largest meatball in half; the interior should show no pink and the juices should run clear.
More mince recipes to try
- Beef Ricotta Lasagna Rolls
- Olive Beef Polpette Perfection
- Creamy Beef Spinach Pasta
- Hearty Beef Mushroom Stroganoff










