Homemade Tomato Ketchup Recipe with Fresh Tomatoes
This homemade tomato ketchup recipe is rich, tangy, and lightly spiced with juniper berries and allspice — fresher and tastier than bottled.

Rich, tangy, and lightly spiced, this easy homemade tomato ketchup recipe blends fresh tomatoes with juniper berries and allspice for a subtle depth of flavour. By swapping white onion for leek and adding red onion, it brings a natural sweetness that perfectly balances the tang. Ideal for family meals, summer barbecues, or adding a gourmet twist to everyday favourites.
Why I Love Making Homemade Tomato Ketchup
Growing up, I was never too much into tomato ketchup. I used to struggle a lot with heart burn and indigestion, so the strong acidity didn’t really agree with me.
Then one time when I was working in a restaurant that grew a lot of their own vegetables with an attached farmshop, I was handed a huge harvest and asked to develop a recipe that we could sell in jars. Upon getting to work, I realised that when you make tomato ketchup yourself, you control all the variables.
Replacing malt vinegar with apple vinegar made it way less acidic, and adding certain spices gave it an extra depth of flavour. The stuff you buy in the super market always just tastes of sweet acid to me. But this one actually tasted like tomatoes!
Over time I have further developed the recipe for my own tastes. Now I actually enjoy dipping my chips into the classic red sauce, or smearing a load into a burger bun.
Now making homemade tomato ketchup has become a bit of a late summer ritual for me. Knowing a few people who grow tomatoes at home, I often get handed kilos of beautifully ripe tomatoes every summer, and ketchup is one of the easiest ways to process and preserve them.
Ingredient Breakdown

Ripe Tomatoes
The heart of your ketchup, providing body, sweetness, and acidity. Go for ripe, juicy tomatoes for the best flavour. The redder and riper they are, the deeper red your final ketchup will have.
Red Onion and Leek
Adds natural sweetness and depth. Red onion is gentler than white, giving a rounder flavour. Brings a mellow, earthy note that balances the tomatoes. Slice thinly and sweat gently for the best flavour release.
Garlic
Essential for savoury depth.
Cider Vinegar
Provides tang and preserves the ketchup. It’s fruitier than white vinegar, which can also be used. If you prefer a sharper more acidic ketchup, go with malt vinegar.
Brown Sugar
Balances acidity and adds caramel richness. Adjust depending on how sweet your tomatoes are. I prefer to go on the lower scale with sugar.
Oil or Butter
Used for sweating the vegetables and releasing spice aromas. Butter gives richness, while oil keeps it lighter.
Bay Leaf and Thyme
Both add an aromatic, herbal background. Dried bayl eaves works well, but thyme should be fresh if possible. .
Cinnamon Stick
Brings warmth and subtle sweetness. Half a teaspoon of ground cinnamon can be used in a pinch, but stick is preferred for gentle infusion.
Cloves
Sharp and spicy, giving depth to the spice blend. Use sparingly as they can overpower.
Allspice Berries
Adds a peppery, slightly sweet spice that rounds out the flavour. Peppercorns make a good substitute IF allspice is not available
Juniper Berries
Give a piney, resinous brightness that makes this ketchup unique. Crush lightly to release flavour. Can be omitted if hard to find, but they’re worth sourcing.
Mustard Seeds
Bring a tangy kick. If you like more of a mustardy kick, go with black seeds. If you prefer milder, go with yellow.
How to Make Homemade Tomato Ketchup from Fresh Tomatoes
- Lightly crush the spices
Pop the juniper berries, allspice, mustard seeds, and cloves into a mortar and pestle and give them a quick crush. You don’t want powder, just enough to release their aromas. - Chop the vegetables
Roughly chop the tomatoes — no need to be too precise as they’ll break down while cooking. Slice the red onion and leek, but don’t go too fine; a rustic cut works perfectly here since everything will soften and blend later.

- Build the base
Heat your oil or butter in a heavy-bottomed pan. Toss in the red onion, leek, and garlic with a little pinch of salt, and let them sweat down slowly until they’re soft and fragrant. This should be done over a low heat. We want to sweat them, not brown them. - Add the rest of the ingredients
Add in the chopped tomatoes, the crushed spices, bay leaf, cinnamon stick, and thyme. Stir well, bring everything up to a gentle bubble, then slow it down to a gentle simmer.

- Simmer and cook
Let the pan do its work for 40–60 minutes, stirring now and then so nothing sticks. The tomatoes will collapse into a rich, jammy sauce.

- Blend until smooth
Fish out the bay leaf, cinnamon stick, and thyme sprig. Then blitz the mixture with a stick blender (or a jug blender if you prefer) until it’s silky smooth.

- Strain through a sieve
Press the sauce through a fine sieve with the back of a spoon or ladle. This extra step gives you that classic smooth ketchup texture, free from seeds and skins. If you like rustic, you can skip this step.

- Reduce further
Return the sauce to the pan for a final simmer, about 20–30 minutes, until it’s glossy and thick. Taste as you go — a splash more vinegar for tang, a spoonful of sugar for balance, or a touch more salt to round things out. If you like it a bit runnier, simmer for less time, and if you are like me and thick it super thick, simmer longer. Remember a low heat here. We don’t need a bubbling lava pot.

Bottle it up
For longer storage, it’s important to sterilise your jars properly before filling. Here’s a simple guide from BBC Good Food on how to sterilise jars to make sure your ketchup stays fresh and safe.
Easy Homemade Tomato Ketchup Recipe with Fresh Tomatoes
Ingredients
- 1 kg ripe tomatoes, roughly chopped
- 1 medium red onion, roughly chopped
- 1 medium leek white + light green part only
- 2 garlic cloves, crushed
- 100 ml apple cider vinegar or white vinegar
- 80 g brown sugar, to taste
- 1 tbsp oil, butter, or dripping
- 1 bay leaf
- 1 small cinnamon stick
- 3 whole cloves
- 3 allspice berries or ½ tsp black peppercorns
- 4 juniper berries, lightly crushed
- ½ tsp mustard seeds black for bold, yellow for mild
- 1 sprig thyme or ½ tsp dried
- ½ tsp salt
Instructions
- Lightly crush the juniper berries, allspice berries, mustard seeds and cloves in a mortar and pestle to release their flavour.
- Heat the oil in a heavy pan, then add the onion, leek and garlic and cook until softened and fragrant.
- Add the chopped tomatoes, vinegar, sugar, salt, the crushed spices, bay leaf, cinnamon stick and thyme. Bring to a gentle boil, then reduce to a slow simmer.
- Simmer uncovered for 45–60 minutes, stirring occasionally, until the tomatoes break down and the mixture thickens.
- Remove the bay leaf, cinnamon stick and thyme. Blend the sauce until smooth with a stick blender or jug blender.
- Pass the ketchup through a fine sieve, pressing it through with the back of a ladle or spoon to remove skins and seeds.
- Return the strained ketchup to the pan and simmer for 20–30 minutes until glossy and thick. Taste and adjust with more vinegar, sugar or salt as needed.
- Pour the hot ketchup into sterilised jars or bottles, seal, and allow to cool. Store in the fridge and use within 3–4 weeks.
Notes
Notes & Variations
- Vegan & Dairy-Free: This homemade tomato ketchup is naturally vegan and dairy-free, so no swaps are needed.
- Gluten-Free: Stick with apple cider or white vinegar to keep it 100% gluten-free, as some malt vinegars may contain traces of gluten.
- Sugar-Free: Skip the brown sugar or replace it with honey, maple syrup, or even blended dates for natural sweetness.
- Spicier Version: Add a pinch of chilli flakes, smoked paprika, or an extra clove or two for more kick.
- Herbal Twist: Try rosemary, oregano, or basil instead of thyme for a different flavour profile.
- Storage: Store in sterilised jars or bottles in the fridge for 4–6 weeks.
- Freezing: Portion into freezer-safe containers or bags and freeze for up to 3 months. Defrost overnight in the fridge before using.
Yes — this recipe is designed specifically for fresh tomatoes. Ripe tomatoes give a brighter, sharper flavour than tinned, and slow cooking concentrates their natural sweetness without needing loads of sugar.
Fully ripe tomatoes with good flavour are key. Vine tomatoes, plum tomatoes, or a mix of both work well. If your tomatoes are very watery, you may need to simmer the ketchup a little longer to thicken.
You can. The spices add depth rather than obvious spice flavour. If you’re missing one or two, the ketchup will still work. You can also simplify it for a more classic, mild profile.
Yes. The flavour is tangy and savoury but not spicy. If cooking for very young children, you can reduce or omit the cloves and juniper for a milder taste.
No — it’s balanced, not sugary. The sweetness comes mainly from the tomatoes, onion, and a small amount of brown sugar. You can adjust the sugar to taste or reduce it if your tomatoes are naturally sweet.







