In a large pot, heat the olive oil over medium heat. Add the chopped onion and sauté for about 5 minutes, or until translucent.
Add the minced garlic and sauté for an additional 1-2 minutes, until fragrant.
Stir in the pumpkin puree, diced tomatoes (with juices), vegetable broth, cumin, salt, black pepper, and paprika. Bring the mixture to a boil.
Reduce the heat and let it simmer for about 15 minutes, allowing the flavors to meld.
Remove the pot from heat and use a blender or immersion blender to puree the soup until smooth.
Return the soup to low heat and stir in the heavy cream. Warm until heated through, about 3-5 minutes.
Meanwhile, preheat a griddle or frying pan over medium heat. Butter one side of each slice of bread.
On the unbuttered side of half the bread slices, layer 1 slice of Swiss cheese. Top with the remaining bread slices, buttered side up, creating sandwiches.
Grill the sandwiches for about 3-4 minutes on each side, until golden brown and crispy, and the cheese is melted.
Serve the pumpkin tomato soup hot, garnished with a sprinkle of paprika if desired, alongside the grilled Swiss cheese sticks.