Juicy, seasoned meatballs made with ground beef, Parmesan, and fresh basil are browned to perfection then gently simmered in a velvety tomato-cream sauce.
The crushed tomatoes meld with heavy cream, garlic, and fragrant basil leaves, creating a luscious coating that soaks beautifully into pasta or crusty bread.
Ready in about 50 minutes with simple pantry ingredients, this Italian-American favorite delivers bold, comforting flavors the whole table will love.
The rain was hammering against the kitchen window the evening I threw together meatballs and a half empty carton of cream, not expecting much beyond a passable Tuesday dinner. What came out of that skillet stopped conversation at the table entirely. My partner actually set down his phone, which in our house counts as a standing ovation.
I made this for my sister the night she moved into her first apartment, surrounded by cardboard boxes and a single borrowed skillet. We ate cross legged on the floor with crusty bread torn into chunks, sauce dripping onto paper plates, and she called it the best housewarming gift shed ever received.
Ingredients
- 500 g ground beef (or a mix of beef and pork): A beef and pork blend gives you the juiciest result, but all beef works beautifully too.
- 1/2 cup breadcrumbs: These are the quiet hero that keeps everything tender and held together without turning dense.
- 1/4 cup grated Parmesan cheese: Folded right into the meat, it adds a savory depth you simply cannot get from salt alone.
- 1 large egg: The binder that makes everything hold hands, but dont overdo the mixing or you will toughen the texture.
- 2 cloves garlic, minced (for meatballs): Raw garlic in the mix gives a gentle warmth that mellows as it simmers.
- 1/4 cup milk: Softens the breadcrumbs so they disappear into the meat rather than leaving dry spots.
- 1/2 tsp salt and 1/4 tsp black pepper (for meatballs): A modest amount since the Parmesan and sauce carry plenty of seasoning too.
- 2 tbsp fresh basil, finely chopped (or 1 tsp dried): Fresh basil in the meatballs is a small touch that makes people wonder what your secret is.
- 2 tbsp olive oil: Use a generous pour for browning because that fond on the pan is where the sauce gets its soul.
- 1 small onion, finely chopped: Cook it slowly until sweet and translucent, and the whole sauce transforms.
- 3 cloves garlic, minced (for sauce): Added after the onion so it blooms without burning or turning bitter.
- 1 can (400 g) crushed tomatoes: A good quality canned tomato will outperform a mediocre fresh one every single time.
- 1/2 cup heavy cream: This is what turns a standard tomato sauce into something people will actually close their eyes over.
- 1/2 cup chicken or vegetable broth: Loosens the sauce just enough so the meatballs can simmer and cook through evenly.
- 1 tsp sugar (optional): A tiny pinch tames the acidity of canned tomatoes without making anything taste sweet.
- 1/2 tsp salt and 1/4 tsp black pepper (for sauce): Season gradually and taste at the end because the Parmesan adds saltiness as it melts in.
- 1/3 cup fresh basil leaves, chopped (for sauce): Stirred in at the end so the bright, peppery flavor stays vibrant and fresh.
- 1/4 cup grated Parmesan cheese (for sauce): Melts into the cream and tomato to create a velvety texture you will want to mop up with everything.
- Cooked pasta, rice, or crusty bread (for serving): Choose whatever you are craving because this sauce is magnificent on absolutely anything.
- Extra fresh basil leaves: A scattered handful on top makes it look like you tried harder than you actually did.
Instructions
- Mix and shape the meatballs:
- 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, because overmixing is the enemy of tenderness. Shape into about 16 golf ball sized portions and set them on a plate.
- Brown the meatballs:
- Heat olive oil in a large skillet over medium heat and add the meatballs, turning them gently as each side develops a deep golden crust. This takes roughly 6 minutes total. Remove them to a plate and resist the urge to wipe out the pan because all those browned bits are pure flavor.
- Build the sauce base:
- In the same skillet, sauté the chopped onion until softened and just starting to color, about 3 to 4 minutes. Add the garlic and stir for 30 seconds until you can smell it bloom. Pour in the crushed tomatoes and broth, then stir in the salt, pepper, and sugar. Let it simmer for 5 minutes so everything gets acquainted.
- Make it creamy:
- Stir in the heavy cream and Parmesan, watching the sauce shift from bright red to a gorgeous sunset orange. Fold in the chopped basil, then nestle the meatballs back into the sauce. Spoon some liquid over each one so they are partially submerged and cozy.
- Simmer until perfect:
- Reduce the heat to low and let everything simmer uncovered for 15 to 20 minutes, gently turning the meatballs once or twice. The sauce will thicken and the meatballs will cook through until they are tender and saturated with flavor. Taste and adjust the seasoning, then serve over pasta, rice, or with torn crusty bread.
There was a Sunday when I doubled this recipe for a small dinner party and ended up with three people asking for the recipe before they even finished eating.
The Art of Browning
Getting a proper sear on meatballs is more about patience than heat. Let them sit undisturbed for a full two minutes before you try to turn them, and they will release from the pan naturally instead of sticking and falling apart.
Making It Your Own
This recipe bends in whatever direction you need it to go without complaint. Ground turkey or chicken lightens it up considerably, a pinch of chili flakes adds a slow background warmth, and coconut milk swaps in for cream if dairy is off the table.
Serving and Storing
Leftovers taste even better the next day after the meatballs have spent the night soaking in that sauce. Store everything in an airtight container in the refrigerator for up to three days and reheat gently on the stove with a splash of broth.
- Freeze the meatballs and sauce together in individual portions for emergency dinners that feel anything but desperate.
- A glass of Chianti or any medium bodied red alongside this turns a regular Tuesday into something worth savoring.
- Always check labels on breadcrumbs and broth if you are cooking for someone with gluten or dairy sensitivities.
This is the kind of meal that reminds you comfort food does not need to be complicated to be unforgettable. Make it once and it will quietly become part of your regular rotation without anyone voting on it.
Recipe FAQs
- → 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 splash more milk to keep them tender.
- → How do I prevent meatballs from falling apart in the sauce?
-
Make sure not to overmix the meat mixture, as this can make them dense and crumbly. Breadcrumbs and egg act as binders — measure them accurately. Browning the meatballs in the skillet before simmering also helps them hold their shape.
- → Can I make the sauce ahead of time?
-
Absolutely. The creamy tomato basil sauce can be prepared a day in advance and refrigerated. Reheat it gently in a skillet before adding the browned meatballs and simmering until everything is heated through and cooked.
- → What can I substitute for heavy cream?
-
Coconut milk is a great dairy-free alternative that adds a subtle richness. You can also use half-and-half for a lighter version, though the sauce will be slightly less thick and luxurious.
- → What should I serve with creamy tomato basil meatballs?
-
These meatballs pair wonderfully with cooked pasta like spaghetti or penne, over steamed rice, or alongside crusty bread for soaking up the sauce. A simple green salad and a glass of Chianti complete the meal nicely.
- → How should I store and reheat leftovers?
-
Store leftovers in an airtight container in the refrigerator for up to 3 days. Reheat gently on the stovetop over low heat, adding a splash of broth or water if the sauce has thickened too much. Avoid boiling to keep the cream sauce from separating.