Slice the bread and soak it in cold water for 5 minutes or so. Squeeze out all the excess liquid and crumble the bread. Set aside.
If you are using fresh tomatoes you will need to peel them by scoring them (meaning putting a small, shallow slit with a sharp knife on the bottom of the tomato) and putting them in a pot of boiling water for 30 seconds. Remove them with a slotted spoon and you will see how the skins just slide off (if you want to speed up this process you can cool them quickly in an ice bath). Transfer the peeled tomatoes to a bowl and crush them with your hands.
Heat the oil in a large pot, preferably with a heavy bottom, over medium-low heat.
Peel the garlic clove and crush it with the back of your knife to release its juices and aroma. Peel the garlic clove and crush it with the back of your knife to release its juices and aroma. Finely chop the carrot, celery and onion. Add the chopped carrot, celery, onion and a pinch of red chili flakes and gently cook for about 10 minutes until the onions are translucent and the vegetables are soft. Add the garlic and cook for another two minutes until fragrant.
Add the tomatoes, bring to a simmer and cook on low heat for about twenty minutes. Remove the garlic cloves
Add the crumbled bread to the tomato mixture and stir, being sure all the bread is coated well. Add about a cup of hot water and continue to cook for 10-20 minutes, stirring every so often to be sure the bread is not sticking to the bottom and that it is breaking down well (help it along by probing it with your wooden spoon and eventually using a whisk to help the whole mixture become one creamy mess).
Taste for salt and pepper. Add if need be.
Turn off the heat, tear up the basil leaves with your hands and stir them in.
Let sit for at least an hour.
Ladle into bowls, generously drizzle plenty of extra virgin olive oil and tear a few more basil leaves for good measure. Serve warm or at room temperature