In a large pot or Dutch oven, heat the olive oil over medium heat. Add the diced onion and sauté for about 5 minutes, or until the onion is translucent.
Add the minced garlic and cook for an additional 1-2 minutes, ensuring the garlic doesn't burn.
Pour in the vegetable broth and bring it to a simmer. Add the drained spinach and chopped artichoke hearts, stirring to combine.
Reduce the heat and stir in the heavy cream and softened cream cheese. Continue stirring until the cream cheese is melted and the mixture is smooth.
Add the dried thyme, crushed red pepper flakes (if using), salt, and pepper. Taste and adjust the seasoning as needed.
For a creamier texture, use an immersion blender to blend the soup to your desired consistency. Alternatively, transfer the soup in batches to a regular blender, then return it to the pot.
Heat the soup gently on low until warmed through, then serve hot, garnished with grated Parmesan cheese if desired.