In a medium saucepan add the oil and Dairygold. Place the saucepan over a medium-low heat. When the Dairygold melts, add the onion and a big pinch of salt. Stir occasionally until the onion is completely soft, approx 15 minutes.
Add the garlic and red pepper flakes and cook for 5 minutes more, stirring occasionally once more.
Now add the tomatoes and their juices to the pan and increase the heat to medium. Roughly crush the tomatoes with the back of a wooden spoon and cook for about 10 minutes. Add the broth or water and bring to a simmer. Cook on a medium heat until the tomatoes begin to fall apart, approx 15 minutes.
Remove the soup from the heat and cool slightly, about 10 minutes. Purée the soup directly in the saucepan using an immersion blender, or use a countertop blender, carefully puréeing the soup in a couple of batches until smooth.
Return the soup to the burner over low heat and stir in the cream. Add black pepper, then taste and adjust the seasoning with additional salt or pepper as needed. Serve in warmed bowls, as is or topped with the garnishes of your choice.