Preheat the oven to 180°C. Rinse the snapper and pat dry. Bring a large pot of salted water to the boil.
Clean the fennel bulbs and remove the outer leaves. Cut in half lengthwise and remove the hard inner core. Cut into wedges around 5 mm thick. Blanch in boiling water for a couple of minutes, then refresh in cold water to stop them cooking further.
Drizzle some olive oil in the base of a baking tray and scatter over the butter. Arrange the fennel in the tray and place the fish on top. Splash on the wine, season the fish with salt and pepper, and scatter on the olives, tomatoes and garlic. Roast for 30 minutes, checking from time to time to ensure the vegetables and fish do not burn.
Test the fish by inserting a sharp knife in the thickest part close to the bone to see if it is done. Return to the oven for a few more minutes if necessary.
Squeeze the garlic out of its skin and eat with the fish. Serve with a fresh salad.