Tender beef meatballs baked until golden, then nestled in a luscious tomato and basil cream sauce. This Italian-American classic combines ground beef with Parmesan and herbs for perfectly seasoned bites.
The sauce comes together in one skillet — sautéed onions, garlic, crushed tomatoes, and a splash of heavy cream create a silky coating that clings to every meatball. Fresh basil adds a bright, aromatic finish.
Ready in about 50 minutes with minimal prep, this dish serves four and pairs beautifully with pasta, rice, or crusty bread for soaking up every last bit of sauce.
The smell of meatballs browning in the oven always pulls people into the kitchen before dinner is even close to ready, and this creamy tomato basil version is no exception. A friend brought a version of this to a potluck years ago, and I spent the entire drive home trying to figure out what made the sauce so impossibly silky. Turns out, it was just a splash of heavy cream and a handful of fresh basil added at the very end. Now it is the dish I make when someone needs convincing that comfort food can also feel a little elegant.
One rainy Tuesday my neighbor knocked on the door asking if I had any basil, and forty minutes later we were sitting at my kitchen counter sharing this exact meal with a loaf of bread between us. She now asks for the recipe every time I see her, and I pretend it is complicated so she keeps coming over to eat it here instead.
Ingredients
- 500 g ground beef (or beef and pork mix): A blend of beef and pork gives the meatballs more tenderness and a richer flavor, but all beef works beautifully if that is what you have on hand.
- 1/2 cup breadcrumbs: These keep the meatballs soft inside rather than dense, so do not skip them or reduce the amount.
- 1/4 cup grated Parmesan cheese: Adds a salty, nutty depth right into the meat mixture that you cannot get from seasoning alone.
- 1/4 cup milk: Soaks into the breadcrumbs and creates a panade that locks in moisture.
- 1 large egg: The binder that holds everything together without making the texture rubbery.
- 2 cloves garlic, minced: Fresh garlic in the meat mixture gives a quiet hum of flavor that pairs with the bolder garlic in the sauce.
- 2 tbsp chopped fresh parsley: Brings a fresh, green note that balances the richness of the meat and cheese.
- 1 tsp dried oregano: A classic Italian seasoning that infuses the meatballs with an herby warmth.
- 1/2 tsp salt and 1/4 tsp black pepper: Essential seasoning that you should taste and adjust, as Parmesan already adds saltiness.
- 2 tbsp olive oil: The starting fat for the sauce that carries all the flavor from the aromatics.
- 1 small onion, finely chopped: Cooks down into sweetness and creates a flavorful base for the tomato sauce.
- 2 cloves garlic, minced (for sauce): A second round of garlic in the sauce because the first round quietly disappears into the meatballs.
- 1 can (400 g) crushed tomatoes: The backbone of the sauce, so grab a decent brand if you can, because you will taste the difference.
- 1/2 cup heavy cream: This is what transforms a standard tomato sauce into something velvety and memorable.
- 1/2 cup chicken or vegetable broth: Loosens the sauce just enough to coat the meatballs without turning it watery.
- 1/3 cup fresh basil leaves, chopped (plus extra for garnish): Stirred in at the end so the flavor stays bright and fragrant rather than cooked down to nothing.
- 1/2 tsp sugar: Tames the acidity of the canned tomatoes without making the sauce taste sweet.
- Salt and pepper, to taste: Final seasoning that pulls everything into balance, so taste before serving.
Instructions
- Preheat and prepare:
- Set your oven to 200 degrees Celsius (400 degrees Fahrenheit) and line a baking sheet with parchment paper so the meatballs release easily and cleanup is painless.
- Mix and shape the meatballs:
- Combine all the meatball ingredients in a large bowl and mix with your hands just until everything is evenly distributed, because overmixing makes them tough. Roll into 16 to 18 small meatballs and arrange them on the prepared sheet with a little space between each one.
- Bake until golden:
- Slide the tray into the oven for 15 to 18 minutes, until the meatballs are lightly browned on the outside and cooked through in the center.
- Start the sauce base:
- While the meatballs bake, warm the olive oil in a large skillet over medium heat and cook the onion until soft and translucent, about 3 minutes, then stir in the garlic for one more minute until fragrant.
- Build the tomato sauce:
- Pour in the crushed tomatoes, broth, sugar, salt, and pepper, then let everything simmer for 7 to 8 minutes so the flavors settle and the sauce thickens slightly.
- Add the cream and basil:
- Reduce the heat to low, stir in the heavy cream until the sauce turns a beautiful sunset orange color, then add the chopped basil and simmer for 2 more minutes.
- Bring it all together:
- Gently transfer the baked meatballs into the sauce and let them simmer together for 5 minutes so the meatballs soak up some of that creamy tomato flavor and everything is piping hot.
- Serve and enjoy:
- Spoon the meatballs and sauce over pasta, rice, or alongside crusty bread, and finish with extra fresh basil leaves on top.
The first time I served this to my family, my teenager who usually picks at everything went back for thirds and then asked if we could have it every week, which honestly felt like winning a prize I did not know I was competing for.
How to Store and Reheat Leftovers
Leftovers keep well in an airtight container in the refrigerator for up to three days, and the sauce actually tastes better the next day because the flavors continue to develop overnight. Reheat gently on the stove over low heat, adding a splash of broth or water if the sauce has thickened too much. Avoid microwaving on high power because the cream sauce can separate and become unevenly textured.
Simple Swaps and Variations
Ground turkey or chicken works well for a lighter version, though you may want to add an extra tablespoon of milk since leaner meats dry out faster. A pinch of red chili flakes in either the meat mixture or the sauce gives the whole dish a gentle warmth that cuts through the richness beautifully. You can also substitute the heavy cream with half and half for a slightly lighter sauce, but avoid using milk alone because it will not give you the same velvety texture.
Getting the Texture Just Right
The difference between a good meatball and a great one comes down to how gently you handle the mixture, because pressing and packing the meat tightly creates dense, heavy bites that nobody looks forward to. Use a light touch when rolling and stop as soon as the ball holds its shape. A cookie scoop helps keep the size consistent, which means they all cook at the same rate and you are not left guessing which ones are done.
- Wet your hands slightly before rolling to keep the mixture from sticking to your palms.
- Let the meatballs rest for a minute after baking before adding them to the sauce so they hold their shape better.
- Always taste the sauce for salt right before serving because the cheese and broth can vary in saltiness.
This is the kind of meal that turns an ordinary weeknight into something worth sitting down for, and I hope it finds its way into your regular rotation the way it found its way into mine.
Common Questions
- → Can I use ground turkey instead of beef?
-
Yes, ground turkey or chicken works well as a lighter alternative. Keep in mind the meatballs may be slightly less juicy, so avoid overmixing the meat mixture and consider adding an extra drizzle of olive oil to the pan.
- → What can I substitute for heavy cream?
-
Half-and-half or whole milk combined with a tablespoon of butter can replace heavy cream for a lighter sauce. For a dairy-free option, full-fat coconut milk provides a similarly rich texture with a slightly different flavor profile.
- → How do I store and reheat leftovers?
-
Store leftovers in an airtight container in the refrigerator for up to 3 days. Reheat gently in a skillet over medium-low heat, adding a splash of broth or water to loosen the sauce. Avoid boiling to prevent the cream from separating.
- → Can I freeze meatballs in the sauce?
-
Absolutely. Freeze fully cooled meatballs and sauce together in a freezer-safe container for up to 2 months. Thaw overnight in the refrigerator before reheating gently on the stovetop.
- → What sides go best with this dish?
-
Spaghetti or any long pasta is a classic pairing. Mashed potatoes, steamed rice, or crusty artisan bread also work wonderfully to soak up the creamy tomato sauce. A simple side salad with vinaigrette balances the richness.
- → Can I make the meatballs ahead of time?
-
Yes, you can prepare and refrigerate the raw meatball mixture up to 24 hours in advance. You can also bake the meatballs ahead and refrigerate them, then warm them directly in the sauce when ready to serve.