Heat olive oil over medium heat in a large soup pot or dutch oven.
Add celery, carrots, and onion to pot and saute until softened, about 10 minutes.
Stir salt, garlic, and rosemary into vegetables; cook, stirring constantly, until fragrant (about 30 seconds).
Mix flour into pot and stir until vegetables are coated.
Add broth and potatoes to vegetables. Stir well. Increase heat and bring to a boil.
Reduce heat to a simmer, then cook until vegetables are tender, about 15 minutes.
Turn off heat and use an immersion blender to puree about half of the vegetables. (If you do not have an immersion blender, remove half of the vegetables from the pot and puree in a blender.)
Reheat soup, if necessary, then stir in heavy cream. Do not boil.
Season soup to taste with salt and pepper.
Serve soup hot, topped with cheddar cheese and green onions, if desired. Enjoy!