Add 1 tbsp butter and oil to a large deep pot over medium-high heat. Add half of the mushrooms and stir to coat. Fry them, stirring occasionally, until they form a golden crust. They'll release a lot of moisture at the start; only after the moisture evaporates can you begin to caramelise the mushrooms properly. Season with a pinch of salt and pepper towards the end, then remove and place in a bowl to one side. Repeat with the second batch, using another 1 tbsp oil and butter to begin the process.
Once you've removed the second batch of mushrooms, lower the heat to medium and melt in the final tbsp of butter. Add the diced leek, celery and garlic and fry until it all begins to soften and take on colour. Add in the stock, oxo cube and thyme, then stir in the mushrooms (save some to garnish if desired) and the firm end of the leek (check for dirt and rinse if needed). Bring to a simmer, then pop on the lid, lower the heat and simmer for 20-25 minutes.
Remove the lid and turn off the heat, then remove and discard the leek. Use a hand blender to blitz until smooth, then stir in the cream. Check for seasoning and adjust if needed. You can also thin out the soup with more stock if desired (or simmer to thicken).
To make the crostini, spray or brush both sides of the bread with oil and space out on a tray. Pop in the oven at 180C/350F for 5-6mins, or until it begins to crisp. Remove, flip them over and rub the top with garlic. Add the gruyere, then pop back in the oven until the cheese melts and the bread is crisp.