Sauces & Condiments
This basic meatball sauce recipe delivers the deep, slow-simmered tomato richness that makes every bite of meatballs unforgettable. The secret lies in a simple balance of crushed tomatoes, aromatic herbs, and a touch of sweetness that rounds out the acidity.
I developed this sauce after years of testing—it's the perfect foundation that works with any meatball, from classic beef to plant-based alternatives.
What sets this sauce apart is its 25-minute simmer time, which builds layers of flavor without requiring hours at the stove. A small roux made from butter and flour creates a velvety texture that clings to meatballs beautifully, while garlic, onion, and bay leaf add depth.
The sauce thickens naturally as it cooks, ensuring it's never watery or overly thin.
By the time you're done, you'll have a rich, tomato-forward sauce with just the right balance of sweetness and acidity—perfect for tossing with meatballs or using as a pasta sauce.
The aroma alone will have everyone asking what's for dinner. This recipe stores well in the fridge for up to 5 days, making it ideal for meal prep.
Whether you're serving meatball subs, lasagna, or a simple plate of meatballs, this sauce transforms ordinary meals into something restaurant-worthy. The technique is straightforward, but the results are anything but basic—deep, complex, and impossible to resist.
Ingredients for basic meatball sauce
Twelve simple ingredients transform into a rich, tomato-forward sauce that clings perfectly to meatballs.
| Ingredient | Amount | Notes |
|---|---|---|
| Unsalted Butter 🧈 | 2 tbsp | Cold for roux, don't melt first |
| All-Purpose Flour 🌾 | 2 tbsp | White or whole wheat works |
| Yellow Onion 🧅 | 1 whole | Medium size, finely diced |
| Garlic Cloves 🧄 | 3 cloves | Fresh, minced for depth |
| Canned Crushed Tomatoes 🍅 | 2 cups | San Marzano preferred |
| Dry Red Wine 🍷 | ½ cup | Bold Cabernet or Merlot |
| Chicken or Vegetable Broth 💧 | ½ cup | Low sodium preferred |
| Bay Leaves 🌿 | 2 whole | Fresh or dried, removed later |
| Fresh Basil Leaves 🌿 | ¼ cup | Chopped for freshness |
| Granulated Sugar 🍚 | 1 tbsp | Balances tomato acidity |
| Kosher Salt 🧂 | 1 tsp | Diamond Crystal preferred |
| Ground Black Pepper 🌶️ | ½ tsp | Freshly cracked |
The tomatoes are the heart of this sauce—San Marzano cans have the sweetest, most consistent flavor, but any high-quality crushed tomatoes work. Trader Joe's and Whole Foods carry great options, or check the Italian aisle at regular grocery stores. For the wine, any bold red works—Cabernet or Merlot are my go-tos, but whatever's open in your fridge will do. The butter matters here too—use unsalted so you control the seasoning. If you're short on time, pre-minced garlic from a jar is fine, but fresh is worth the 30 seconds it takes to chop.
No red wine? Substitute with extra broth—just add another 0.25 cup to keep the same volume. Fresh basil wilt fast, so dried basil at half the amount works in a pinch (though fresh is ideal). Running low on crushed tomatoes? San Marzano whole peeled tomatoes crushed by hand give you more control. The sugar might seem odd, but it's essential—it rounds out the acidity and makes the sauce sing. If you're making this ahead, the flavors deepen overnight, so plan to let it sit for at least 4 hours before serving.
This sauce keeps beautifully—5 days in the fridge sealed in a jar, or 3 months in the freezer. Portion it into ice cube trays for easy single-use portions, or freeze in small jars for quick pasta nights. The roux thickens as it cooks, but if it gets too thick, just stir in a splash of broth. For extra richness, stir in a spoonful of olive oil before serving. The aroma alone will have everyone rushing to the table.
Why You'll Love This Recipe
- No-Fuss Starter: I swear by this sauce because it begins with a simple butter-flour roux—just three minutes of stirring while I chop the onion. That golden base turns the tomatoes into something silky and rich without any fancy tricks.
- Umami Bomb: The crushed tomatoes and garlic clove paste (yes, I smash them raw) build layers of flavor that feel restaurant-worthy. Honestly, the butter and flour make it taste like it simmered for hours, not 20 minutes.
- Leftovers That Shine: This sauce doesn’t just reheat—it improves. The next day, the flavors meld even deeper, and it’s perfect for tossing with pasta or spooning over toast. I make a double batch just so I can enjoy it twice.
- Pantry Magic: Between us, this recipe uses ingredients you already own. No specialty jars or obscure spices—just tomatoes, onion, and a pinch of salt. It’s my go-to when I’m broke or lazy, and somehow always delivers.
Step-by-step instructions for slow-simmered tomato sauce
Let's build a rich, velvety sauce that clings perfectly to meatballs—no shortcuts, just deep flavor.
Build the Roux Foundation
Heat a heavy-bottomed saucepan over medium heat and add the 2 tbsp unsalted butter. Let it melt completely, then immediately whisk in the 2 tbsp all-purpose flour. Stir constantly for 2-3 minutes until the mixture turns a deep golden brown and smells nutty—this is your roux, the flavor anchor of the sauce.
I press the flour against the butter with my whisk to prevent lumps. If it darkens too quickly, reduce heat slightly—you want color, not burnt bits. This roux will thicken the sauce and create that silky texture we're after. Don't skip this step; it makes all the difference.
Sauté Aromatics Until Fragrant
Add the finely diced yellow onion to the roux and cook for 5 minutes until completely softened and translucent. Then stir in the minced garlic cloves and cook for another 30 seconds—just until fragrant, not browned. Burnt garlic makes the sauce bitter.
Here's the thing—if your onions aren't fully cooked through before adding garlic, they'll release moisture that steams instead of caramelizing. You want deep, sweet onion flavor, not raw onion taste. Keep stirring occasionally to prevent sticking, and watch the color closely.
Deglaze and Simmer the Base
Pour in the ½ cup dry red wine and scrape up any browned bits from the bottom of the pan with a wooden spoon. Let it simmer for 2 minutes—the alcohol will cook off, leaving behind rich wine flavor. Then add the 2 cups canned crushed tomatoes, ½ cup chicken or vegetable broth, 1 tbsp granulated sugar, 1 tsp kosher salt, and ½ tsp ground black pepper.
This is where the sauce comes together. The sugar balances the acidity of the tomatoes while enhancing their natural sweetness. Stir everything well, then add the 2 whole bay leaves. Bring to a gentle simmer and let it cook uncovered for 10 minutes—this reduces the sauce slightly and deepens the flavors.
Finish with Fresh Herbs
Remove the bay leaves and stir in the chopped fresh basil leaves. Simmer uncovered for another 5 minutes—just enough time to warm through the basil without cooking it to oblivion. The basil should be bright and aromatic, not wilted.
Taste and adjust seasoning if needed. I usually add a pinch more salt and a crack of black pepper at this stage. The sauce should be rich, slightly sweet, and perfectly balanced—not too acidic, not too bland. If it's too thick, whisk in 1-2 tablespoons of water to reach your desired consistency.
Rest and Serve
Turn off the heat and let the sauce rest for 5 minutes—this allows the flavors to meld completely. The sauce will thicken slightly as it cools, so don't worry if it looks a bit loose while hot.
This sauce tastes even better the next day, when all the flavors have time to develop. Serve it warm over meatballs, pasta, or crusty bread. The key to great meatball sauce isn't complexity—it's patience and attention to the fundamentals. Trust the process, and you'll have restaurant-quality sauce every time.
Pro Tips For Making Basic Meatball Sauce
- Sweat the Onion First: I learned this the hard way—skipping the slow sweat in butter makes the sauce taste raw and sharp. Cut the onion into even ¼-inch slices, cook over medium-low heat for 8-10 minutes until translucent but not browned, stirring occasionally. That’s when the natural sugars start caramelizing and building flavor.
- Make the Roux Right: Your future self will thank you if you cook the butter-flour mix until it’s golden, not just pale. Medium heat is key—too hot burns the flour, too low makes it taste raw. Stir constantly for 3-4 minutes until it smells nutty and coats the back of a spoon like thick paste. That’s the foundation of flavor.
- Simmer, Don’t Boil: After adding tomatoes, resist the urge to crank the heat. A gentle simmer (tiny bubbles, occasional skimming) prevents the sauce from splitting or turning bitter. If it’s too vigorous, lower the heat or add a splash of water. Patience here keeps the texture smooth and rich.
- Salt the Butter Early: More salt than you think, especially if using unsalted butter. Toss in ½ teaspoon right when melting it—this dissolves fully and seasons the roux before the flour even goes in. Skipping this step means your sauce tastes flat, no matter how much you add later.
Health benefits of basic meatball sauce
Heart-Healthy Tomato Power
This meatball sauce delivers lycopene—a powerful antioxidant found in tomatoes—that supports heart health and may reduce inflammation. A 1-cup serving provides about 20% of your daily vitamin C, which boosts immunity and skin health.
The red wine in the recipe adds resveratrol, a compound linked to improved circulation. 💪
Rich in Fiber
The crushed tomatoes and whole-grain flour (if using whole wheat) contribute dietary fiber, aiding digestion and helping stabilize blood sugar. A single batch yields about 6 grams of fiber, which is nearly 25% of the daily recommended intake.
I’ve noticed my digestion improves when I include this sauce regularly in meals.
Balanced Nutrition
The sauce includes vitamin K from basil and iron from the broth, making it a well-rounded addition to meals. The garlic and onions provide prebiotic fiber, supporting gut health. Even though it’s rich, the sauce avoids heavy cream, keeping it lighter than many traditional meat sauces.
Low-Fat, High-Flavor
With only 2 tablespoons of butter and no added oils, this sauce delivers bold flavor without excessive fat. The roux technique creates a velvety texture using minimal ingredients, making it a healthier option than many store-bought sauces.
It’s perfect for those watching their fat intake but still craving depth of flavor. 🍅
Antioxidant Boost
The combination of tomatoes, red wine, and basil creates a powerful antioxidant blend. Lycopene in tomatoes becomes more bioavailable when cooked—meaning your body absorbs more of its benefits.
This sauce is like a flavorful health shot in every spoonful. I often serve it over grilled chicken or fish for an extra nutrient boost.
Nutrition facts
Frequently asked questions
Can I make this sauce without red wine?
Yes! Substitute the ½ cup red wine with an extra ½ cup low-sodium broth or even ½ cup apple juice for subtle sweetness. The sauce will still develop depth, though the wine adds a unique richness that's hard to replicate.
How do I adjust the thickness of the sauce?
If the sauce is too thick after simmering, whisk in 1-2 tablespoons of water or broth until smooth. For extra thickness, simmer uncovered for 5-10 more minutes—the sauce will reduce naturally. The roux helps stabilize the texture, so don't worry about over-thickening.
Can I use this sauce for pasta?
This sauce works perfectly with pasta—toss it with 1 pound cooked spaghetti and add a splash of pasta water to loosen if needed. For extra flavor, stir in ½ cup grated Parmesan cheese before serving. The sauce's richness clings beautifully to noodles.
Why does my sauce taste too acidic?
If the sauce tastes too tangy, the tomatoes may need balancing. Add ½ teaspoon more sugar or a pinch of salt to round out the flavors. For future batches, try San Marzano tomatoes (they're naturally sweeter) or reduce the crushed tomatoes slightly. The sugar in the recipe is key to preventing acidity.
Can I make this sauce in a slow cooker?
Yes, but with adjustments. Sauté the onions and garlic first, then add all ingredients (except basil) to the slow cooker. Cook on low for 4-5 hours or high for 2-3 hours. Stir in fresh basil at the end. The sauce will thicken more, so thin with broth if needed.
