These tender, juicy meatballs are browned to perfection then gently simmered in a luscious tomato basil cream sauce that's bursting with flavor.
Ready in just 50 minutes, this Italian-American classic pairs beautifully with pasta, rice, or crusty bread for soaking up every last bit of sauce.
Simple ingredients like ground beef, Parmesan, heavy cream, and fresh basil come together for a deeply satisfying meal the whole family will love.
The smell of garlic hitting olive oil on a Sunday afternoon is enough to make anyone drift toward the kitchen, and these creamy tomato basil meatballs are the reason my doorbell kept ringing that first fall I perfected them. Neighbors somehow always showed up right as the sauce started bubbling, claiming they were just returning a borrowed tool or walking their dog past my window. Nobody was fooling anyone, and I never once minded sharing.
My friend Marco, who grew up eating his nonnas meatballs every Sunday, took one bite of these and went quiet for a solid thirty seconds before finally nodding and saying they were almost as good as hers, which from Marco counts as the highest praise imaginable.
Ingredients
- Ground beef (500 g, or a mix of beef and pork): A blend of beef and pork gives you more flavor and juiciness, but straight beef works beautifully if thats what you have on hand.
- Breadcrumbs (1/2 cup): These are the backbone that holds everything together without making the meatballs dense, so do not skip them.
- Grated Parmesan cheese (1/4 cup, plus extra for the sauce): This adds a salty, nutty depth straight into the meat mixture that you simply cannot replicate any other way.
- Large egg (1): The binder that keeps your meatballs from crumbling apart when they hit that hot skillet.
- Garlic (2 cloves for meatballs, 3 for the sauce): Fresh garlic makes a difference here, so please do not reach for the jarred kind if you can help it.
- Milk (1/4 cup): Softens the breadcrumbs so they blend seamlessly into the meat rather than leaving dry spots.
- Salt and black pepper: Seasoning is everything, and these two basics carry the whole dish when used generously at each stage.
- Fresh basil (2 tbsp finely chopped for meatballs, 1/3 cup for sauce, plus extra for garnish): If you can get fresh basil, the aroma alone will make you understand why this herb is the soul of the recipe.
- Olive oil (2 tbsp): A good olive oil gives the sauce a fruity backbone and helps brown the meatballs evenly.
- Small onion, finely chopped (1): The quiet foundation of the sauce that sweetens and softens as it cooks down.
- Crushed tomatoes (1 can, 400 g): San Marzano tomatoes are worth the splurge if your grocery store carries them.
- Heavy cream (1/2 cup): This is what turns a standard tomato sauce into something velvety and indulgent that clings to every meatball.
- Chicken or vegetable broth (1/2 cup): Thins the sauce just enough so it can simmer and reduce into the perfect consistency.
- Sugar (1 tsp, optional): A tiny pinch tames the acidity of canned tomatoes without making anything taste sweet.
- Cooked pasta, rice, or crusty bread for serving: Pappardelle is my favorite because those wide ribbons catch the creamy sauce in the best way.
Instructions
- Bring the meatball mixture together:
- In a large bowl, combine the ground meat, breadcrumbs, Parmesan, egg, minced garlic, milk, salt, pepper, and chopped basil. Use your hands and mix gently until everything is just combined, because overworking the meat is the fastest path to tough, rubbery meatballs.
- Shape into meatballs:
- Roll the mixture into golf ball sized portions, which should give you about 16 meatballs. Keep your hands slightly wet with water to prevent sticking and get a smooth, even shape.
- Brown the meatballs:
- Heat olive oil in a large skillet over medium heat and add the meatballs, turning them frequently so they brown evenly on all sides for about 6 minutes. They do not need to be fully cooked through yet since the sauce will finish the job beautifully.
- Build the sauce base:
- Remove the meatballs and in the same skillet, sauté the chopped onion in the remaining drippings until softened and translucent, about 3 to 4 minutes. Add the garlic and stir for 30 seconds until fragrant, letting those layers of flavor build right in the pan.
- Add tomatoes and simmer:
- Pour in the crushed tomatoes and broth, then stir in salt, pepper, and sugar if you are using it. Let the sauce simmer for 5 minutes so the flavors start to meld and the raw tomato taste cooks off.
- Make it creamy and return the meatballs:
- Stir in the heavy cream and a quarter cup of Parmesan until the sauce turns a gorgeous blush color, then mix in the chopped basil. Nestle the browned meatballs back into the sauce, spooning some over the top so they are coated and cozy.
- Simmer until perfect:
- Leave the skillet uncovered on low heat for 15 to 20 minutes, gently turning the meatballs a few times so they cook evenly and absorb that creamy tomato flavor. The sauce will thicken and reduce into something rich enough to eat with a spoon on its own.
- Finish and serve:
- Taste the sauce and adjust the salt and pepper to your liking, then scatter extra fresh basil leaves over the top. Serve over pasta, rice, or with torn crusty bread for soaking up every last drop of that sauce.
There was a rainy Tuesday when my daughter came home from school miserable about a test, and a plate of these meatballs over buttered noodles turned her whole evening around without a single word needing to be said.
What to Serve Alongside
A simple arugula salad with lemon juice and olive oil cuts through the richness perfectly, and a glass of Chianti or any medium bodied red wine beside the plate makes the whole meal feel like an occasion rather than just a Wednesday night dinner.
Swaps and Tweaks Worth Trying
Ground turkey or chicken lightens things up considerably, and a pinch of chili flakes in the sauce adds a gentle warmth that sneaks up on you in the best way. Coconut milk works as a surprisingly good stand in for cream if dairy is off the table, and gluten free breadcrumbs perform admirably in the meatballs themselves.
Storing and Reheating Like a Pro
Leftovers keep beautifully in an airtight container in the fridge for up to three days, and the sauce actually tastes better the next day when all those flavors have had time to party together overnight. Reheat gently on the stove over low heat rather than nuking at full power, adding a splash of broth if the sauce has thickened too much.
- Freeze individual portions for up to two months for those nights when cooking feels impossible.
- Meatballs actually freeze better in the sauce than on their own because it keeps them moist.
- Always label your containers because every creamy tomato sauce looks identical once frozen.
Some recipes earn a permanent spot in your rotation because they ask so little and give so much back, and these creamy tomato basil meatballs have been holding down Tuesday nights at my table for years without ever getting old.
Your Recipe Questions Answered
- → Can I use ground turkey instead of beef?
-
Absolutely. Ground turkey or chicken works well as a lighter alternative. Keep in mind the meatballs may be slightly less juicy, so avoid overmixing the mixture and consider adding a drizzle of olive oil to the pan for browning.
- → How do I prevent meatballs from falling apart?
-
The breadcrumbs, egg, and Parmesan act as binders. Mix the ingredients until just combined — overmixing can make them tough. Also, make sure to brown them well on all sides before simmering, as this helps them hold their shape in the sauce.
- → Can I make the sauce dairy-free?
-
Yes. Substitute the heavy cream with full-fat coconut milk and use a dairy-free Parmesan alternative. The coconut milk adds a subtle richness that pairs surprisingly well with the tomato and basil flavors.
- → What's the best way to reheat leftovers?
-
Gently warm them in a covered skillet over low heat, adding a splash of broth or water if the sauce has thickened too much. Avoid microwaving on high, as it can make the meatballs rubbery and cause the cream sauce to separate.
- → Can I freeze meatballs in the sauce?
-
Yes, they freeze beautifully. Let everything cool completely, then transfer to an airtight container and freeze for up to 3 months. Thaw overnight in the refrigerator before gently reheating on the stovetop.
- → What pasta pairs best with this dish?
-
Long pasta like spaghetti or fettuccine works wonderfully, but penne, rigatoni, or pappardelle are excellent choices too. The ridged pasta shapes hold the creamy sauce especially well, making every bite flavorful.