Pre-heat the oven to 425 degrees F.
Place the asparagus on a parchment lined baking sheet, and drizzle and mix with 1 tbsp olive oil. Bake for 20 minutes, then remove from oven and set aside to cool.
While the asparagus is baking, add 1 tbsp of olive oil to a dutch oven or large pot, and sauté the onion oven medium-high heat for 5 minutes, stirring frequently. Add the garlic, and sauté for another 60 seconds before pouring in the chicken broth. Toss in the thyme and bay leaf, and allow it all to simmer on low heat.
When the asparagus is done, remove from the oven and let it cool enough to handle. Chop the asparagus into 1 inch pieces, and set the asparagus heads to the side. Toss in the rest of the 1 inch pieces of asparagus into the Dutch Oven.
Increase the heat and continue to simmer with the lid on for about 15 minutes. After the 15 minutes, take an immersion blender and blend the entire contents of the soup until completely blended. Now pour in the milk and add the asparagus tops, saving a few for a garnish. Stir well, and continue to heat for 5 minutes.
Grate in the asiago cheese (or parmesan) and stir until it is melted and well combined.
Season with salt. This step is absolutely crucial, as a well salted asparagus soup tastes much different from an under seasoned asparagus soup. Start with 1/4 of a tsp and increse as needed. I used 3/4 tsp of table salt, but this will vary depending on the brand of chicken or vegetable broth that you use.
Ladle the soup into a bowl and garnish with parsley, grated cheese, asparagus tops and fresh cracked black pepper. Enjoy!