Heat oven to 425 degrees. Roast asparagus for about 10 minutes until nicely browned.
Set aside. After cooled cut into 1 to 2 inch pieces.
Melt butter over medium heat in a large saucepan or dutch oven. Add chopped onion and cook until fragrant, translucent and softened. Add garlic. Cook for a minute longer.
Add chicken or vegetable broth to the pot. Bring to a low boil. Add potatoes and carrots. Turn heat down to simmer and cook for about 15-20 minutes or until potatoes and carrots are tender. Stir in half and half and fresh spinach. Cook just for a few minutes more until heated through.