If you have ever flipped over a bottle of supermarket ketchup and struggled to pronounce half the ingredients, you already know why making your own is worth the effort. The store version relies on high-fructose corn syrup, synthetic vinegar, and a chemistry lab of stabilizers to achieve that familiar squeeze-bottle texture. A batch from your own stove tastes brighter, tangier, and somehow more honest. Best of all, it comes together in under an hour using nothing but fresh produce and pantry spices.
I started making this ketchup every summer when tomato season hits its peak. Romas work beautifully because they have less water and more flesh, but any ripe, flavorful tomato will do. The goal is to cook them down slowly with aromatics, strain out the solids, and reduce the liquid until it clings to a spoon. The result is a condiment with real body and a complexity that no factory formula can replicate.
What You Need
- 5 pounds ripe tomatoes, cored and roughly chopped
- 1 small yellow onion, diced
- 3 garlic cloves, peeled and smashed
- 1-inch piece fresh ginger, sliced
- 1 to 2 dried red chilies, stems removed (optional, for background heat)
- ½ teaspoon whole cloves
- ½ teaspoon black peppercorns
- 1 teaspoon yellow mustard seeds
- ¾ cup apple cider vinegar
- 2 teaspoons kosher salt
- ⅔ cup granulated sugar
- ¼ teaspoon ground allspice
How to Make It
Start by combining the chopped tomatoes, onion, garlic, ginger, dried chilies, cloves, peppercorns, and mustard seeds in a large, heavy-bottomed pot or Dutch oven. The pot should look almost too full at first; the tomatoes will collapse significantly as they cook. Pour in the apple cider vinegar and set the heat to medium.
Let everything come to a gentle simmer, stirring occasionally to prevent anything from sticking to the bottom. After about twenty minutes, the tomatoes will have broken down into a soupy, fragrant mess. Remove the pot from the heat and let it cool for ten minutes. Working in batches, transfer the mixture to a blender and puree until completely smooth.
Set a large fine-mesh sieve over a clean bowl and pass the puree through it, pressing firmly with a wooden spoon or spatula. This step is non-negotiable. The seeds and skins will stay behind, and what collects in the bowl is a thin, vibrant liquid that already smells like ketchup should.
Return the strained liquid to the same pot. Add the salt, sugar, and allspice. Bring it back to a gentle simmer over medium-low heat and let it bubble away, uncovered, for twenty-five to thirty-five minutes. Stir it every few minutes, especially as it thickens, because the sugars love to scorch once the liquid evaporates. You will know it is ready when the mixture coats the back of your spoon and a line drawn through it with your finger stays clean.
Jarring and Keeping It Fresh
While the ketchup is still hot, ladle it into very clean glass jars or bottles, leaving about half an inch of space at the top. If you want it to last beyond two weeks in the refrigerator, run the sealed jars through a quick water-bath process. Place a kitchen towel in the bottom of a deep stockpot, arrange the jars on top, and cover them with water by at least one inch. Bring the water to a gentle boil and hold it there for ten minutes. Carefully lift the jars out and let them cool on a counter. You will hear the lids pop as they seal.
Unopened, these jars keep in a cool pantry for two to three months. Once you break a seal, move the jar to the fridge and use it within three weeks.
This ketchup shines anywhere the store-bought stuff does, but it also holds its own as a cooking ingredient. Swirl it into meatloaf mix, brush it onto grilled chicken thighs during the last few minutes, or thin it with a splash of water and use it as a dipping sauce for roasted sweet potato wedges. The flavor is bold enough that you will find yourself reaching for it more often than you expected.






