Heat the butter or olive oil in a soup pot or Dutch oven over medium heat until melted. Add the yellow onion, green onion, garlic, salt, pepper and crushed red pepper flakes and cook, stirring, until they begin to soften, about 4 minutes.
Add the asparagus and continue to cook, stirring, until the asparagus begins to soften, about 4 more minutes.
Add the broth and bring to a boil. Reduce the heat so that the soup is at a gentle simmer. Cover and cook, simmering, until the asparagus is very tender, 15 to 20 minutes.