Heat a soup pot on medium high heat with butter. Chop the onion and celery and add it to the soup pot once the butter has melted. Cook until the onion and celery are both soft. Peel the garlic and either mince it finely or push it through a garlic press, then set it aside.
Add the ground beef and cook, stirring often to break the beef into small chunks, until the ground beef is no longer pink. Drain the grease if necessary and then push everything to the side of the soup pot. In the open space, add the garlic and ground black pepper. Stir the garlic/pepper around and cook until fragrant, about 1 minute, and then mix it into the beef.
Mix in the parsley, basil, mustard, worcestershire and salt, then pour in the tomatoes and chicken stock. Bring the soup to a boil, reduce to a simmer and cook for 20 minutes.
In the meantime, set up a double boiler with a steamer top. Add an inch of water to the bottom pot and bring it to a boil. Wash the cauliflower and chop into bite sized pieces, then place in the steamer top section once the water is boiling. Steam for 10 minutes, until just fork tender, then puree using an immersion blender until smooth.
After the soup has simmered for 20 minutes, pour in warmed heavy whipping cream and mix in 1 cup of the shredded cheddar cheese. Stir well and then continue to cook on a low simmer for 10 minutes. Mix in the cauliflower puree until fully combined, divide into 5 bowls, top with the remaining shredded cheddar cheese and serve hot!