Heat oven to 200C/180C fan/gas 6. In a small bowl, mash the butter with one-third of the thyme leaves, the mashed garlic and the juice of half a lemon. Mix everything together with some seasoning and set aside.
Use your hand to loosen the chicken skin away from the breast, then push most of the butter mix into the gap. Rub the rest of the butter all over the outside of the chicken, then stuff the cavity with the lemon halves, remaining thyme leaves and stalks, and the garlic.
Scatter the chopped carrot, onion and bay leaves over the base of a small roasting tin. Sit the chicken on top, breast-side up, and roast on the middle shelf for 1 hr 30 mins, basting with the buttery juices after about 40 mins. When the chicken is dark golden, crispy-skinned and the juices run clear, remove from the oven and leave in the tin for 5 mins.
Use a pair of tongs to pull the lemons, garlic and thyme out of the cavity and into the tin. Lift the chicken up, letting any juices dribble into the tin, and transfer the chicken to a serving platter to rest for at least another 15 mins.
To make the gravy, squeeze the juice out of the cooked lemon halves and discard the skins. Place the tin on a low heat, stir in flour and sizzle until light brown. Gradually pour in the stock and cook for a few mins. If you like a darker gravy, add a splash of soy sauce to the tin. Strain the gravy into a jug and serve with the chicken.