In a large pot, bring water to a boil. At the base, cut off 2 inches of the asparagus and discard. Chop off asparagus tips and reserve. Slice remaining stalks into 1-inch pieces.
Submerge tips in boiling water for 3 minutes. Remove tips and immediately plunge into a bowl of ice water; drain. Add stalk pieces to boiling water and cook for 5 minutes, until they turn bright green. Plunge into a bowl of ice water; drain.
In a medium-size skillet, melt butter and oil. Add the onion, garlic, and potato and cook until the onions turn translucent, about 10 minutes. Add the asparagus stalks, broth, and thyme. Bring to a boil, then reduce heat and simmer for 15-20 minutes.