Add oil to a large pot over medium heat. Once hot, add onions, garlic, Serrano, and ginger. Season with a pinch of salt and cook for a few minutes until onion turns translucent.
Add in apricots and cayenne pepper and black pepper. Cook for another minute until fruit starts to soften.
Stir in other ingredients and add water last. Stir well to make sure tomato paste is distributed evenly.
Bring to a simmer and simmer for 10-15 minutes. Let cool slightly and then blend until mostly smooth, but some chunks are fine.
Return to pot and bring back to a simmer. Let simmer for another 45-50 minutes until the mixture is nice and thick.
Use immediately or store in the fridge for up to a week.