Heat butter in a large pot on low heat. Finely dice onion and cook for 6-8 minutes, until quite soft.
Meanwhile, mince garlic and roughly chop broccoli as small as possible. Add garlic to pot and stir for 1 minute. Then add stock, bring to a boil, then reduce to a simmer for 5 minutes.
Grate cheese. Once broccoli is tender, remove soup from heat and stir through cream and half the grated cheese.
Use a stick blender to blend the soup until completely smooth, then season well with salt and pepper.
Ladle soup into bowls and top with remaining cheese.