Preheat oven to 190°C.
In a medium mixing bowl, combine the butter, garlic, zest and thyme. Mix well with wooden spoon and season with salt and pepper.
Beginning at the neck end of the chicken, use your fingers to carefully make a pocket between the flesh and skin of the chicken breasts and top of the legs.
Gently slide enough of the garlic butter into the pocket under the skin to evenly coat the breasts and legs.
Stuff the cavity of the chicken with enough of the chopped carrots, celery, onion and 1 half of the garlic.
Using butchers’ string, tie the legs of the chicken together and tuck the wings under the body.
Place the remaining chopped vegetables into a roasting tray and set the chicken on top. Rub the tablespoon of olive oil over the chicken. Season with salt and pepper.
Roast for 1 hour and 15 minutes or until an instant read thermometer placed into the thigh of the chicken reads 75°C.
Remove the chicken from the oven and let rest at room temperature for 10-15 minutes lightly covered with foil. Discard vegetables from pan but reserve pan juices.
While the chicken is resting, toss the asparagus on a baking tray with 1 teaspoon of oil and toss to coat. Season with salt and pepper and roast for 10 minutes or until tender but crisp.
To make the dressing, whisk the shallots, lemon zest and juice in a medium mixing bowl. While whisking, slowly add the remaining 2 tablespoons of oil. Season to taste with salt and pepper.
Arrange the asparagus on a platter, drizzle with the vinaigrette and garnish with the shaved parmesan. Serve with the chicken and pan juices.Shopping: Stock up on cook ware