Heat olive oil or butter in a large pot over medium heat. Add diced onion and sauté for 5–6 minutes, until softened.
Stir in minced garlic and cook for 1–2 minutes, until fragrant.
Add canned tomatoes with their juices and gently break them up with a spoon.
Pour in the bone broth, then add dried basil, oregano, and red pepper flakes (if using). Stir to combine.
Bring the soup to a boil, then reduce the heat to low. Cover partially and simmer for 20–25 minutes.
Use an immersion blender to puree the soup until smooth.
Stir in the heavy cream and season with salt and pepper to taste.