Wash and rinse the bottles and place in a warm oven to heat and dry to sterilise.
Pick the leaves from the basil and set aside; roughly chop the stalks.
Place all vegetables except the tomatoes into a large pan with a big splash of olive oil, the ginger, chilli, basil stalks, coriander seeds and cloves. Season with pepper and salt. Cook on a low heat for 10-15 minutes until softened, stirring occasionally. Add all of the tomatoes, bring to the boil and then reduce the heat and simmer gently until reduced by about half.
Add basil leaves to soften and then blend the mixture in a food processor until smooth - this may need to be done in several batches.
Pour into a clean pan and add the vinegar and sugar. Simmer until thick (it won't be as thick as a bought ketchup however). Pour into the warm bottles and seal immediately.