Combine all the ingredients in a largish pot set over medium heat. Cook, stirring often, until the mixture boils, the onions become soft and the cranberries pop; about 20-25 minutes.
Let it cool a bit and then transfer to a food processor or run through a food mill until smooth. If it seems too thick, add a little extra water or juice. If you like, press it through a sieve (this is a good idea if you want to keep it in a squeeze bottle) to get rid of all the solids.
Pour into hot, sterilized jars and seal according to the package directions, or let it cool and transfer to plastic containers to store in the fridge for up to a week or freeze for up to 4 months.