Preheat oven to 425-degrees Fahrenheit.
Drizzle each cut garlic head with 1 tablespoon olive oil, and season lightly with salt and pepper.
Wrap the garlic heads in squares of aluminum foil.
Cover two baking sheets with aluminum foil (optional, but for easier cleanup), and lay the cut zucchini in an even layer onto one of the prepared baking sheet, and drizzle with 2 tablespoonw olive oil. Season lightly with with salt and pepper.
Place the sliced onions on the second prepared baking sheet and drizzle with 1 tablespoon olive oil. Season lightly with salt and pepper.
Add the wrapped garlic to one of the baking sheets and roast the garlic and vegetables in the preheated oven for 35-40 minutes, or until the onions are golden brown.
Remove the roasted vegetables from the oven, unwrap the garlic, and cool the vegetables completely.
Add 2 cups of chicken stock (or vegetable stock) to a high speed blender.
Add half of the roasted zucchini, onions, and the two heads of roasted garlic (with the cloves squeezed from the papery shells. Discard the papery shells.
Blend the soup on high, until creamy.
Add 1 cup additional chicken stock to the blender, along with the remaining roasted zucchini, onion, and basil leaves.
Blend again until creamy.
Add additional salt and pepper if necessary to taste.
Chill in the refrigerator until ready to serve.
To reheat, pour into a stockpot and heat over medium heat until hot.
Garnish with grated Parmesan cheese and a drizzle of olive oil (not shown), if desired.