Creamy Tomato Basil Meatballs (Printable Version)

Tender meatballs in a rich, creamy tomato and basil sauce — a comforting Italian-inspired dinner for any night.

# What You'll Need:

→ Meatballs

01 - 1 lb ground beef (or a 50/50 blend of beef and pork)
02 - 1/2 cup breadcrumbs
03 - 1/4 cup grated Parmesan cheese
04 - 1 large egg
05 - 2 cloves garlic, minced
06 - 1/4 cup whole milk
07 - 1/2 teaspoon kosher salt
08 - 1/4 teaspoon black pepper
09 - 2 tablespoons fresh basil, finely chopped (or 1 teaspoon dried basil)

→ Creamy Tomato Basil Sauce

10 - 2 tablespoons olive oil
11 - 1 small onion, finely chopped
12 - 3 cloves garlic, minced
13 - 1 can (14 oz) crushed tomatoes
14 - 1/2 cup heavy cream
15 - 1/2 cup chicken or vegetable broth
16 - 1 teaspoon sugar (optional, to balance acidity)
17 - 1/2 teaspoon kosher salt, or to taste
18 - 1/4 teaspoon black pepper
19 - 1/3 cup fresh basil leaves, chopped
20 - 1/4 cup grated Parmesan cheese

→ For Serving

21 - Cooked pasta, rice, or crusty bread (optional)
22 - Extra fresh basil leaves for garnish

# Directions:

01 - In a large bowl, combine the ground meat, breadcrumbs, Parmesan cheese, egg, minced garlic, milk, salt, pepper, and basil. Gently fold until just incorporated — avoid overmixing to keep the texture tender.
02 - Roll the mixture into golf ball–sized portions, yielding approximately 16 meatballs. Place them on a plate or sheet pan as you work.
03 - Heat the olive oil in a large skillet over medium heat. Add the meatballs and cook, turning frequently, until evenly browned on all sides, about 6 minutes. Transfer to a plate and set aside — they will finish cooking in the sauce.
04 - In the same skillet, add the chopped onion and sauté until softened and translucent, 3 to 4 minutes. Add the garlic and cook for 30 seconds until fragrant.
05 - Pour in the crushed tomatoes and broth. Season with salt, pepper, and sugar if using. Stir to combine and let the sauce simmer for 5 minutes to meld the flavors.
06 - Stir in the heavy cream and Parmesan cheese until the sauce is smooth. Fold in the chopped basil, then return the meatballs to the skillet, nestling them into the sauce.
07 - Reduce the heat to low and simmer uncovered for 15 to 20 minutes, gently turning the meatballs occasionally, until they are cooked through and the sauce has thickened to a creamy consistency.
08 - Taste the sauce and adjust seasoning as needed. Garnish with fresh basil leaves and serve over pasta or rice, alongside crusty bread.

# Expert Hints:

01 -
  • The sauce tastes like it took hours but the whole thing comes together in under an hour on a single weeknight.
  • Those meatballs turn out impossibly tender because they finish cooking right in the sauce, soaking up every bit of flavor.
  • You probably have most of these ingredients sitting in your kitchen right now, which makes this the ultimate panic free dinner.
02 -
  • Do not skip the resting step after browning because the meatballs need to finish gently in the sauce to stay juicy rather than turning rubbery from aggressive heat.
  • Taste the sauce before adding the cream and then again after, because the cream mutes acidity and salt in ways that catch people off guard.
  • If the sauce seems too thin at the end, just let it simmer another 5 minutes uncovered and it will pull together beautifully.
03 -
  • Wet your hands with cold water before rolling each meatball and the mixture will stop sticking to your palms entirely.
  • Let the finished dish rest for five minutes off the heat before serving because the sauce thickens and the flavors settle into something far more cohesive.