Preheat your oven to 375°F (190°C). Line a baking sheet with parchment paper or a light coating of cooking spray for easy cleanup.
Carefully butterfly each chicken breast by slicing horizontally without cutting all the way through, then open to create a pocket. If sides want to burst, place chicken between two sheets of plastic wrap and gently pound to an even thickness of about 1/2 inch.
In a bowl, mix the softened cream cheese, shredded mozzarella (or parmesan), minced garlic, 1/2 teaspoon salt, and 1/4 teaspoon pepper. Stir until smooth and creamy.
Parboil or steam the asparagus spears for 2–3 minutes until just tender but still bright green. Drain and pat dry. If some spears are longer, cut to fit inside the chicken pocket.
Spread a thin layer of the cream cheese mixture inside each pocket. Layer several asparagus spears along the pocket, then top with a little more cream cheese mixture to help seal them. Close the pocket and secure with toothpicks. Repeat with the other breasts.
Season the outside of each stuffed chicken breast with the remaining salt, pepper, and thyme. Brush with olive oil and place on the prepared baking sheet.
Bake for 25–30 minutes, or until the chicken reaches an internal temperature of 165°F (74°C) and the asparagus is tender. If you like a lightly browned top, switch to broil for the last 2–3 minutes, watching closely.
Remove from the oven and let rest for 5 minutes before serving. If desired, drizzle with a squeeze of lemon juice for a bright finish.