Bring a large pot of salted water to a boil over high heat. Add the pasta and cook until tender but still firm to the bite, stirring occasionally, about 8 to 10 minutes. Drain pasta reserving 1/2 cup of the cooking liquid.
Microwave the asparagus with a little bit of water for about 2:30 minutes or until bright green and tender. Drain and then cut into bite-sized pieces.
Meanwhile, warm olive oil in a large, heavy skillet over medium-high heat. Add the garlic and cook until fragrant, about 2 minutes. Add the spinach and cook until the spinach wilts, about 2 more minutes. Add the asparagus and cooked pasta and toss. Add the cheeses, salt, pepper, and the pasta cooking liquid and stir to combine. Transfer the pasta to a serving plate and serve.