Heat oil and butter in a 4 qt (4 liter) pot set over medium heat. Add onions and cook for about 5 minutes, until onions are soft and golden.
Stir in tomato paste, paprika and thyme. Cook for 1-2 minutes until the spices get aromatic. Add all the squash and let it cook like this for about 5 minutes. Stir occasionally to prevent burning.
Stir in the garlic. Then add all of the stock, it should cover most of the squash. Turn up the heat and bring the soup to a boil, then cover the pot, lower the heat back to medium and cook for 20-30 minutes until the squash is tender and can be easily mashed with a fork.
As the soup cooks, preheat the oven to 350°F (175°C). Line a baking sheet with parchment paper. Slice the baguette into 1/2 inch (1-cm) cubes. Add them to the baking sheet and toss them with oil.
Sprinkle grated cheese all over the sliced bread. Bake in the center of the oven for 15 minutes, until the cheese is bubbly and melted. Remove from oven and allow to cool.
When the squash is cooked, turn off the heat. Puree the soup with an immersion blender. When it’s completely smooth, stir in the maple syrup and salt.
Serve soup with a spoonful of creme fraiche or sour cream (optional), cheesy Gruyere croutons and chopped parsley.
Store leftover soup in the refrigerator for up to 2 days or freeze for up to 3 months. Keep leftover croutons in an airtight bag.