To make soup, heat half the oil in a large saucepan. Add onions, carrots, celery and garlic. Cook, stirring, until lightly browned. Stir in herbs, pork hock and water. Bring to a boil. Simmer, covered, stirring occasionally, for 2 hours.
Remove and discard bay leaves from soup. Remove ham hock and trim away and discard fat. Shred meat and return to soup.
Meanwhile, preheat oven to 180C.
Place fennel and tomatoes on an oven tray. Drizzle with remaining oil. Season.
Roast for about 45 minutes or until tender and lightly caramelised. Add to soup.
Transfer soup to a blender in batches and blend until smooth. Season.