Combine the flour, yeast, sugar and 1½ tsp fine salt in a large mixing bowl, or the bowl of a tabletop mixer. Measure out 300ml warm water and add roughly 280ml to the flour, along with the olive oil, and start mixing until the ingredients start to clump together as a dough. If the dough seems a little dry, add the remaining water. Once combined, knead for 10 mins by hand on your work surface, or for 5 mins on a medium speed in a mixer. The dough is ready when it feels soft, springy and elastic. Clean the bowl, drizzle in a little oil, then pop the dough back in, turning it over and coating the sides of the bowl in oil. Cover with some oiled cling film and set aside in a warm place to double in size – this will take 1-3 hrs, depending on the temperature.
Line a baking tray with parchment. Uncover the dough and punch it down a couple of times with your fist, knocking out all the air bubbles. Tip out onto a floured work surface and dust the top with a little flour too, if it is sticky. Roll the dough out to a rectangle, roughly 40 x 30cm. Spread the pesto over the dough, then scatter over the tomatoes, both cheeses and the basil. Roll the dough up from one of the longer sides, into a long sausage.
Use a sharp knife to cut the dough into 12 even pieces. Place on the baking tray, cut-side up, in a 3-by-4 formation, making sure the open end of each roll is tucked in towards the centre on the arrangement – this will prevent them from uncoiling during cooking. Leave a little space between each roll as they will grow and touch as they prove. Loosely cover with oiled cling film and leave to prove for 30 mins–1 hr until almost doubled in size again. Heat oven to 200C/180C fan/gas 6.
Uncover the bread when it is puffed up. Bake on the middle shelf in the oven for 35-40 mins until golden brown and the centre looks dry and not doughy. Remove from the oven and leave to cool for at least 10 mins.