These tender, golden-browned meatballs are gently simmered in a luscious tomato sauce enriched with heavy cream, fresh basil, and Parmesan cheese.
The combination of ground beef, garlic, and breadcrumbs creates perfectly seasoned meatballs that soak up the creamy sauce beautifully.
Ready in about 50 minutes, this Italian-American classic pairs wonderfully with pasta, rice, or crusty bread for a satisfying weeknight dinner.
The smell of garlic hitting olive oil on a Sunday evening is enough to make anyone forget the whole week happened, and these creamy tomato basil meatballs are the reason my kitchen still gets that treatment regularly. My neighbor once knocked on my door asking what I was cooking because the aroma had drifted through the shared hallway, and I ended up inviting her over for a plate. That was three years ago and we still have dinner together every other Thursday.
There was a night my sauce broke because I rushed the cream in on too high a heat, and I stood there staring at a curdled mess wondering if I could salvage it with a blender. Now I always pull the skillet off the burner for a minute before adding dairy, and the sauce turns out velvety every single time.
Ingredients
- Ground beef (500 g, or beef and pork mix): A blend gives you more flavor and a juicier meatball, but straight beef works beautifully too.
- Breadcrumbs (1/2 cup): These keep the meatballs tender, so do not skip them even if you are tempted to go low carb here.
- Grated Parmesan cheese (1/4 cup for meatballs, 1/4 cup for sauce): Use the real stuff in the refrigerated section, not the shelf stable powder, because it melts differently and tastes worlds apart.
- Egg (1 large): This is your binder, holding everything together without making the mixture dense.
- Garlic (5 cloves total, minced): Fresh garlic only, the jarred version lacks the punch that makes this dish sing.
- Milk (1/4 cup): Softens the breadcrumbs so they blend invisibly into the meat rather than leaving gritty pockets.
- Salt and black pepper: Season the meat mixture generously because the sauce will only add so much back.
- Fresh basil (2 tbsp chopped for meatballs, 1/3 cup for sauce, plus extra for garnish): Dried basil works in a pinch but fresh leaves at the end give you that bright green pop that makes the dish look as good as it tastes.
- Olive oil (2 tbsp): A good glug in the pan for browning the meatballs and sauteing the onion.
- Small onion (1, finely chopped): The onion forms the sweet backbone of the sauce, so cook it until truly softened.
- Crushed tomatoes (1 can, 400 g): Crushed gives you the best texture here, somewhere between a chunky marinara and a smooth puree.
- Heavy cream (1/2 cup): This is what turns a standard tomato sauce into something luxurious, so resist the urge to substitute with half and half.
- Chicken or vegetable broth (1/2 cup): Adds depth and thins the tomatoes just enough to let the meatballs braise properly.
- Sugar (1 tsp, optional): A tiny pinch rounds out the acidity of canned tomatoes, especially in winter when the canned stuff is less sweet.
- Cooked pasta, rice, or crusty bread for serving: You will want something to soak up every last bit of sauce because wasting it should be a crime.
Instructions
- Combine the meatball mixture:
- In a large bowl, gently combine the ground meat, breadcrumbs, Parmesan, egg, minced garlic, milk, salt, pepper, and chopped basil using your hands until just mixed. Stop as soon as everything looks evenly distributed because overmixing makes meatballs tough and rubbery.
- Shape the meatballs:
- Roll the mixture into golf ball sized portions, aiming for about 16 meatballs, and try to keep them roughly the same size so they cook evenly. Wet hands help prevent the meat from sticking to your palms.
- Brown the meatballs:
- Heat olive oil in a large skillet over medium heat and add the meatballs, turning them every couple of minutes until they have a deep golden crust on all sides, roughly 6 minutes total. Remove them to a plate, knowing they will finish cooking in the sauce later.
- Build the sauce base:
- In the same skillet with all those flavorful browned bits, saute the chopped onion until translucent and sweet, about 3 to 4 minutes, then add the garlic and stir for 30 seconds until fragrant. Those stuck on bits from the meatballs are pure flavor, so do not wipe the pan clean.
- Add tomatoes and broth:
- Pour in the crushed tomatoes and broth, stirring to scrape up anything stuck to the bottom, then season with salt, pepper, and sugar if using. Let it bubble gently for 5 minutes so the tomatoes lose their raw edge.
- Make it creamy:
- Pull the pan off the heat for a moment, then stir in the heavy cream and Parmesan until the sauce turns a beautiful coral color, followed by the chopped basil. Slide the meatballs back in, nestling them down into the sauce so they are mostly submerged.
- Simmer until done:
- Cook uncovered on low heat for 15 to 20 minutes, gently turning the meatballs once or twice so they absorb the sauce evenly, until they are cooked through and the sauce has thickened enough to coat the back of a spoon. You will know they are ready when a meatball cut in the center shows no pink.
- Taste and serve:
- Give the sauce a final taste and adjust the salt or pepper if needed, then scatter extra fresh basil over the top and serve over pasta, rice, or with torn crusty bread on the side. Eat immediately because this dish waits for no one.
The Thursday after my neighbor first came over, she brought a bottle of Chianti and declared it our official pairing, and now I cannot imagine eating these meatballs without a glass of something red nearby.
What to Serve Alongside
A simple arugula salad with lemon juice and shaved Parmesan cuts through the richness of the sauce perfectly, and a warm chunk of ciabatta is nonnegotiable for sauce duty.
Storing and Reheating
Leftovers keep in the fridge for up to three days and honestly taste better on day two when the flavors have had time to mingle overnight. Reheat gently in a covered skillet over low heat with a splash of broth to loosen the sauce back up.
Making It Your Own
Ground turkey or chicken works well if you prefer something lighter, and a pinch of chili flakes in the sauce adds a warmth that sneaks up on you in the best way. Coconut milk can stand in for cream if dairy is off the table, and gluten free breadcrumbs swap in seamlessly.
- Try a squeeze of lemon juice at the very end to brighten everything up.
- Double the sauce recipe if you love extra for dipping bread.
- Always let the skillet rest off heat for a minute before stirring in any dairy.
Some recipes become part of your rotation because they are easy, and some earn their spot because they make people happy around your table. This one manages to do both, and that is worth holding onto.
Recipe FAQs
- → 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 and consider adding a splash more milk to keep them tender.
- → How do I prevent meatballs from falling apart?
-
Don't overmix the meat mixture, and make sure to include the egg and breadcrumbs as binders. Browning the meatballs in the skillet before adding them to the sauce also helps them hold their shape during simmering.
- → Can I make this dairy-free?
-
Absolutely. Substitute the heavy cream with full-fat coconut milk, use a dairy-free Parmesan alternative, and replace the milk in the meatballs with a non-dairy option. The flavor profile will shift slightly but remains delicious.
- → What should I serve with creamy tomato basil meatballs?
-
These meatballs are incredibly versatile. Serve them over spaghetti or penne, alongside mashed potatoes, with steamed rice, or simply with warm crusty bread to soak up the extra sauce.
- → Can I freeze the meatballs in sauce?
-
Yes, let everything cool completely, then transfer to an airtight container and freeze for up to 3 months. Thaw overnight in the refrigerator and reheat gently on the stovetop, adding a splash of broth if the sauce has thickened too much.
- → Why add sugar to the tomato sauce?
-
A small amount of sugar helps balance the natural acidity of canned tomatoes. It's optional, but even half a teaspoon can round out the flavors and make the sauce taste smoother and more balanced.