These tender, pan-seared meatballs are simmered in a luscious tomato basil cream sauce that comes together in one skillet. Ground beef is mixed with Parmesan, garlic, and fresh basil, then browned and gently finished in a velvety blend of crushed tomatoes, heavy cream, and aromatic herbs.
Ready in about 50 minutes from start to finish, this dish serves four and pairs beautifully with pasta, rice, or crusty bread for soaking up every last bit of sauce.
Something about the smell of garlic hitting olive oil makes my kitchen feel like it belongs to someone else, someone far more Italian than I will ever be. I started making these creamy tomato basil meatballs on a rainy Tuesday when the fridge offered nothing but ground beef and half a can of crushed tomatoes. Now they show up at my table at least twice a month, rain or shine.
My neighbor walked in once while I was browning the meatballs and declared she could smell them from the hallway. She stayed for dinner, brought wine the following week, and now this dish is quietly responsible for our friendship.
Ingredients
- Ground beef (500 g): A beef and pork mix gives softer meatballs, but straight beef works beautifully if that is what you have.
- Breadcrumbs (1/2 cup): These keep the meatballs tender by holding moisture, so do not skip them.
- Grated Parmesan cheese (1/4 cup plus 1/4 cup): Half goes inside the meatballs for depth, and the other half melts into the sauce for savory richness.
- Large egg (1): The binder that holds everything together without making the mixture dense.
- Garlic, minced (2 cloves for meatballs, 3 cloves for sauce): Fresh garlic matters here, do not reach for the jarred version.
- Milk (1/4 cup): Softens the breadcrumbs so they blend invisibly into the meat.
- Salt and black pepper: Season boldly, the sauce will mellow everything as it simmers.
- Fresh basil, finely chopped (2 tbsp for meatballs, 1/3 cup for sauce): Dried basil works in the meatballs, but fresh basil in the sauce is nonnegotiable for that bright finish.
- Olive oil (2 tbsp): Use a decent one, you are building flavor from the very first swirl.
- Small onion, finely chopped (1): The quiet backbone of the sauce.
- Crushed tomatoes (1 can, 400 g): San Marzano tomatoes are worth the extra coin if you can find them.
- Heavy cream (1/2 cup): This is what turns a standard tomato sauce into something velvety and memorable.
- Chicken or vegetable broth (1/2 cup): Thins the sauce just enough to let the meatballs simmer gently.
- Sugar (1 tsp, optional): A small pinch tames the acidity of canned tomatoes without making anything sweet.
- Cooked pasta, rice, or crusty bread: Choose whatever carb makes you happiest, all three are correct answers.
Instructions
- Mix the meatball ingredients:
- Combine the ground meat, breadcrumbs, Parmesan, egg, garlic, milk, salt, pepper, and basil in a large bowl. Use your hands and stop the moment everything looks evenly distributed.
- Shape the meatballs:
- Roll the mixture into golf ball sized portions, roughly 16 total. Wet hands help prevent sticking and give you smoother rounds.
- Brown the meatballs:
- Heat olive oil in a large skillet over medium heat and cook the meatballs, turning often, until golden on all sides, about 6 minutes. They do not need to be cooked through yet, just beautifully seared.
- Build the sauce foundation:
- In the same skillet, sauté the onion until soft and translucent, about 3 to 4 minutes, then add the garlic for 30 seconds until fragrant.
- Start the tomato sauce:
- Pour in the crushed tomatoes and broth, stir in the salt, pepper, and sugar, and let it bubble gently for 5 minutes so the flavors start to marry.
- Add the cream and cheese:
- Stir in the heavy cream and a quarter cup of Parmesan until the sauce turns a gorgeous sunset orange, then fold in the chopped basil.
- Simmer everything together:
- Nestle the browned meatballs back into the sauce and simmer uncovered on low heat for 15 to 20 minutes, gently turning them occasionally, until cooked through and the sauce has thickened.
- Taste and serve:
- Check the seasoning, adjust if needed, garnish with fresh basil leaves, and serve over pasta, rice, or with crusty bread for soaking up every last drop.
The first time I served these to my family, my brother in law quietly went back for thirds and pretended he had not already eaten seconds.
Serving and Pairing Ideas
A glass of Chianti or any medium bodied red wine beside this dish turns a weeknight dinner into something that feels deliberate and special. Crusty bread is not optional in my house because the sauce is too good to leave on the plate.
Making It Your Own
Ground turkey or chicken lightens the dish considerably while keeping the comforting structure intact. A pinch of chili flakes in the sauce adds a gentle warmth that does not overpower the cream but wakes up the whole plate.
Storing and Reheating
These meatballs hold beautifully in the fridge for up to three days and the sauce actually improves overnight as the flavors settle and deepen. Reheat gently on the stove over low heat, adding a splash of broth if the sauce has thickened too much.
- Freeze portions in airtight containers for up to three months for an almost instant comfort meal.
- Coconut milk works as a dairy free substitute for the cream, though the flavor shifts slightly sweeter.
- Gluten free breadcrumbs perform well here, so make that swap without worry.
This is the kind of recipe that earns a permanent spot in your rotation, no questions asked. Make it once and you will find yourself craving it again before the week is out.
Recipe Questions
- → Can I use ground turkey or chicken instead of beef?
-
Yes, ground turkey or chicken works well as a leaner alternative. Keep in mind the meatballs may be slightly less juicy, so avoid overmixing and consider adding a drizzle of olive oil to the mixture for moisture.
- → How do I prevent meatballs from falling apart?
-
Use a combination of breadcrumbs, egg, and a splash of milk as binders. Mix gently until just combined—overworking the meat leads to tough, crumbly meatballs. Chilling the shaped meatballs for 15 minutes before browning also helps them hold their shape.
- → Can I make this dish ahead of time?
-
Absolutely. The flavors deepen and improve after a night in the fridge. Store the meatballs and sauce together in an airtight container for up to 3 days, then reheat gently on the stovetop over low heat.
- → What can I substitute for heavy cream?
-
Coconut milk is a great dairy-free option that adds a subtle richness. You can also use half-and-half for a lighter sauce, or stir in a couple tablespoons of cream cheese blended with a little broth for thickness.
- → What pasta pairs best with this sauce?
-
Long pasta like spaghetti, fettuccine, or pappardelle works beautifully for twirling through the creamy sauce. Short shapes like penne or rigatoni are also excellent since their ridges catch and hold the velvety tomato basil sauce.