This tomato sauce recipe takes about 15 minutes of hands on work: chopping, sauteing, stirring in the tomatoes. After that, it simmers mostly on its own, no standing over the pot required. It’s chunky rather than blended smooth, which is intentional, and it makes about 6 small jars, plenty for a pasta night now and a jar in the freezer for later.


The Sauce My Father in Law Trusted Me With
I first shared this Homemade Tomato Sauce recipe in 2014, and it has since become one of the most popular on my blog. It was actually one of my first posts, so I updated it with more details and new photos.
I learned this tomato sauce recipe from my father in law, whose family came from Italy. His mother made a version of it every week of her life, and she passed it down to her children, including him. He’s the one who taught it to me, slowly, over more than one Sunday in his kitchen in Montreal, and I still ask him to walk me through it out loud even though I could make it with my eyes closed by now.
I make a big pot of this most weeks. It’s the base of my Baked Ziti with Ground Beef and chicken parmesan and it’s what goes into my Zucchini Lasagna when I want something lighter than a beef lasagna. When I want it with meat, I stir in my ground turkey meatballs instead of adding one more link to the pot. Thomas asks for it plain over spaghetti more nights than I can count, and Pierre still tells me it tastes just like his mother’s, which is the highest compliment I get in this kitchen.
In our family, everyone—uncles, aunts, cousins—makes this sauce, and we all love it. I’m sure you will too! It’s fresh, delicious, and better than store-bought tomato sauce.
Key Ingredients
All ingredients and their amounts are listed in the recipe card at the bottom of this post.
San Marzano Tomatoes: I always reach for canned San Marzano tomatoes, and I recommend buying ones actually grown in Italy rather than the San Marzano style tomatoes grown elsewhere. I’ve tested this side by side with regular canned crushed tomatoes, and the San Marzano version comes out noticeably sweeter with less of that sharp, tinny acidity.
Pro Tip: if your grocery store only carries regular whole peeled tomatoes, that’s fine too, just plan on simmering 10 to 15 minutes longer to cook off the extra water and concentrate the flavor.
Tomato Paste: I stir this in before the canned tomatoes, not after, because it needs a minute or two in the hot oil to lose its raw, slightly bitter edge. Skipping this step is the difference between a sauce that tastes deep and one that tastes flat.
Brown Sugar: This isn’t here to make the sauce sweet. It’s here to round out the natural acidity of the tomatoes, the same job a pinch of baking soda or a whole carrot does in other recipes. I’ve tested this without it, and the sauce is noticeably sharper on the back of the tongue.
Bay Leaves: I add two whole leaves at the start and pull them before serving. They add a background depth that’s hard to name if it’s missing, but you’d notice if I left them out. I’ve made this recipe without them, and it tastes thinner, less rounded.
Fresh Basil: I stir this in at the very end, off the heat, never while the sauce is still simmering. Cooking basil for the full hour mutes it completely. Added at the end, it stays bright and actually tastes like basil instead of just green.
Note before Step 1: You’ll need a large saucepan or Dutch oven with a lid. No oven prep needed, this is entirely stovetop.


Cook the onion and garlic. Heat the olive oil over medium heat and cook the onion for 4 to 5 minutes, until soft and golden, not browned. Add the garlic and stir for about 30 seconds. This is important because burnt garlic turns bitter fast, and there’s no fixing that once it’s in the sauce.
Stir in the tomato paste. Cook it in the oil and onion mixture for a minute or two before adding anything else. This toasts the paste slightly and takes away the raw, tinny taste it has straight from the can.


Add the tomatoes and seasonings. Pour in the San Marzano tomatoes with their juices, then add the brown sugar, oregano, bay leaves, salt, and pepper. I break up the whole tomatoes with the back of my spoon right in the pot instead of blending them, since that’s what keeps the sauce chunky instead of smooth.
Cover and simmer for a full hour. A 30 minute simmer will technically finish the sauce, but I don’t recommend stopping there. The extra 30 minutes is what breaks the tomatoes down fully and mellows the acidity on its own, no extra sugar needed. Stir every 10 to 15 minutes so nothing catches on the bottom.


Finish with basil. Remove from the heat, pull out the bay leaves, and stir in the fresh basil. Taste before you add any extra salt here. The flavor concentrates a lot as the sauce reduces over that hour, so what tasted right at the start is usually too salty by the end if you seasoned heavily early on.

Can I make this sauce with fresh tomatoes?
Yes, you can absolutely make this sauce with fresh tomatoes! Here’s how:
Choose the right tomatoes – Roma, San Marzano, or any ripe, juicy tomatoes work best for a rich sauce.
Peel the tomatoes – Blanch them in boiling water for 30–60 seconds, then transfer to an ice bath. The skins will easily peel off.
Chop and cook – Dice the tomatoes and cook them down in olive oil with onions and garlic until they break down and become saucy. You may need to simmer longer to achieve the right consistency.

Olivia’s Recipe Tips
Keep a Parmesan rind in your freezer for this. I drop one into the pot along with the tomatoes and pull it out with the bay leaves at the end. It adds a savory depth that’s hard to get any other way, and it’s one of those tricks that makes people ask what you did differently.
Blend it if you prefer a smooth sauce. This recipe is chunky by design, but if you’re using it for a smooth pizza sauce or for younger kids who pick out chunks, an immersion blender right in the pot gets you there in about 30 seconds.
Brown the meat separately if you’re making meat sauce. If I’m adding ground beef or turkey, I brown it in a separate pan first, drain any excess fat, then stir it into the finished sauce. Browning it directly in the sauce steams the meat instead of searing it, and you lose that deeper flavor.


Homemade Tomato Sauce Recipe
Video
Ingredients
- 1 tablespoon extra virgin olive oil
- half onion finely chopped
- 4 garlic cloves crushed
- 2 tablespoons tomato paste
- 28oz San Marzano Whole Peeled Tomatoes or 1¾ pound of fresh tomatoes (peeled, seeded, and diced)
- 1 tablespoon brown sugar
- ½ teaspoon dried oregano
- 2 dried bay leaves
- Salt and black pepper
- 1 tablespoon chopped fresh basil
Instructions
- In a sauce pan, heat the olive oil over medium heat. Add onions and cook 4-5 minutes until they are soft and golden. Then, add garlic and sauté, being careful not to burn.

- Add tomato paste, and stir well. Add crushed tomatoes, including the juice in case you are using canned tomatoes. Then, add brown sugar, dried oregano, dried bay leaves, salt, and pepper.

- Cover and bring to a low simmer for 30 minutes or 1 hours. Finally, remove from the heat, add fresh basil, and stir well. Remove the bay leaves. Adjust the seasoning if you think it is necessary.

Notes
Nutrition
Nutrition information is automatically calculated, so should only be used as an approximation.
Did You Make This?
Follow @primaverakitchen on Instagram, snap a photo, and tag it #primaverakitchen. We’d love to see your recreation.
As a memory, I kept the original photo from 2014!














