Heat oven to 400F.
Cover onions with water, boil a few minutes then drain and cool, wipe off skins with paper towels. For boiling onions, halve lengthwise. Smaller cipollini onions may be left whole.
While water comes to a boil, cut the heads of garlic to expose all of the cloves. Drizzle EVOO over the exposed garlic then press into rosemary to coat. Wrap the garlic in foil and roast until tender, 45 minutes.
Loosen the skin of the chicken covering the chest and thighs and legs. Arrange the tarragon and parsley sprigs, bay leaves and thyme leaves under the skin, distributing evenly around the bird. Rub 4 tablespoons of softened butter all over the bird skin then season liberally with salt and pepper. Arrange the potatoes, onions and carrots in a roasting pan. Settle the bird over top of the potatoes and vegetables. Roast 1 hour and 15 minutes, switch on broiler to crisp skin, 5-8 minutes.
When garlic is done, let cool enough to handle. Squeeze the garlic cloves out of the skins and mash into paste.
In a saucepot, melt 2 tablespoons butter over medium heat then stir in flour. Cook 1 minute then whisk in stock and season with salt and pepper. Bring to a boil, whisk in mashed garlic. Let thicken 5 minutes then add cream and reduce heat to low.
Remove chicken from oven and carve. Fold the spinach into the vegetables to wilt. Serve vegetables and chicken with gravy on top.