Preheat the oven to 375°F (190 °C) and lightly grease a 9×13 inch baking dish.
In a large skillet over medium heat, cook the chopped bacon until crisp. Transfer to a paper towel-lined plate to drain, leaving the bacon grease in the skillet.
Add the diced onion to the skillet and sauté until softened. Add the minced garlic and cook for another minute until fragrant.
Push the onion and garlic to the side, increase heat to medium-high, add the chicken breasts (seasoned with salt, pepper and paprika) to the skillet, and sear each side for 3-4 minutes until golden brown.
Remove the chicken from the skillet and slice into strips. In the same skillet, combine the diced potatoes and cook for about 5 minutes until they start to soften.
Layer half of the potatoes into the prepared baking dish. Top with the seared chicken strips, cooked bacon, and the asparagus pieces.
In a bowl, combine the heavy cream, chicken broth and thyme then pour this mixture over the contents of the baking dish.
Sprinkle the shredded cheddar cheese over the top and bake uncovered for 25-30 minutes until the cheese is bubbly and the top is golden brown.
Let the casserole rest for about 5 minutes before serving to allow the sauce to thicken slightly.
Notes
You can swap the asparagus for another vegetable like broccoli or zucchini, or use a different cheese if you prefer. Leftovers keep in the fridge for up to 4 days and reheat well.