Place the onions, garlic, and oil in a large pot and cook over medium heat for 30 - 40 minutes, stirring occasionally until the onions are translucent.
Add the tomatoes and pinch of salt. Bring to a boil. Turn the heat down to low-medium, and cook for 1 hour.
Add all ingredients to a blender. Leave the blender lid cracked, and cover the crack with a folded kitchen towel to allow steam to escape. Blend until smooth.
Add cream. Adjust salt to taste.
Notes
*For a dairy-free version, replace the cream with coconut milk or pureed white beans mixed with water.