Cook the asparagus in a large pot of boiling salted water until crisp tender, about 2 to 3 minutes. With a spider or slotted spoon, remove asparagus from boiling water to a bowl of ice water to cool and stop the cooking. When cool, strain, cut asparagus into 1-inch pieces, and set aside.
Return the water in the pot to a boil, adding additional water, if necessary. Add the pasta and cook until al dente, tender but still firm to the bite, about 8 minutes. Drain the pasta, reserving 1 cup of the cooking liquid.
Heat the oil in a heavy large skillet over medium heat. Add the garlic and saute until fragrant, about 20 seconds. Add asparagus to the skillet. Season with salt and pepper, to taste. Add the pasta, and if needed, some of the reserved cooking liquid. Toss to coat. Add the prosciutto, mozzarella, and basil, and toss to combine. Turn off the heat. Season with salt and pepper, to taste, and serve.