Combine rosehips and 3 cups water in a medium saucepan and bring to the boil over high heat. Reduce heat to medium low, cover, and simmer for 20 minutes.
Strain rosehips into a clean bowl and reserve liquid. Take another clean bowl and press cooked rosehips through the strainer into the bowl, pouring the reserved liquid over top in batches to help loosen the flesh from the seeds.
Return rosehip pulp and seeds to the pot, add 1 cup (250 mL) water, bring to the boil, simmer for 2 minutes and press through the strainer again. You should be left with nothing but seeds in the strainer, and about 4½ cups of combined pulp and liquid. Discard seeds.
Heat olive oil over medium heat in a clean saucepan and sauté onion until soft. Add garlic and spices and sauté for another minute. Add sugar, vinegar and rosehip puree, and stir to combine.
Bring to the boil, reduce heat to medium low and simmer uncovered, stirring occasionally, for 30 minutes. Remove from heat and blend until smooth with an immersion blender or in a food processor — if the latter, be careful when pouring to avoid burns.
Return to the heat and continue to simmer until thick, about 10 minutes. Test by pouring a small amount onto a clean saucer and cooling for one minute. If the mixture holds its shape when you tilt the saucer, it’s ready.
Pour into hot, sterilised jars, seal and process in a boiling water bath for 12 minutes. Refrigerate after opening. Store jars in a cool dark place and consume within six months.