Heat the oil in a saucepan, add the onion and fry for 5 minutes until softened and just beginning to turn golden. Add the squash, garlic and sage and fry for 5 minutes, stirring.
Pour in the stock and add the Parmesan rinds and salt and pepper. Bring to the boil then cover and simmer for 45 minutes until the squash is tender.
Scoop out and discard the sage and Parmesan rinds. Allow the soup to cool slightly, then purée in batches in a blender or food processor until smooth. Return to the saucepan and reheat. Add a little extra stock if needed then taste and adjust the seasoning.
Fill a small saucepan halfway with oil and heat until a cube of day-old bread sizzles the minute it is added. Then tear the sage leaves from the stems and add to the oil, frying for a minute or two until crisp. Lift out with a slotted spoon and put on to kitchen paper.
Ladle the soup into bowls, top with some of the crispy sage and a sprinkling of grated Parmesan, serving the remaining leaves and extra Parmesan in small bowls for diners to add their own as desired.