In a mixing bowl, combine the softened unsalted butter with chopped rosemary, thyme, minced garlic, salt, and pepper. Mix well until evenly distributed.
Pat the whole chicken dry with paper towels. Loosen the skin from the breasts and thighs carefully. Spread about two-thirds of the herb butter under the skin and rub the rest over the outside. Season with salt and pepper.
Place the chopped onion, carrots, and celery in the bottom of a roasting pan or oven-safe skillet.
Put the chicken on top of the vegetables, breast side up. Roast in a preheated oven at 425°F (220°C) for about 1 hour and 15 minutes or until internal temperature reaches 165°F (74°C). Baste halfway through.
Transfer the cooked chicken to a cutting board and tent with foil. Rest for 15-20 minutes.
Place the roasting pan with vegetables and drippings on the stove over medium heat. Sprinkle flour over vegetables and stir to form a roux. Cook 2 minutes. Slowly whisk in chicken broth, scraping bottom until gravy thickens (4-5 minutes). Adjust seasoning.
Carve the rested chicken and serve with roasted vegetables. Drizzle generously with pan gravy.