Coat a large wide pot with olive oil over medium heat and add the onions. Season with salt and crushed red pepper, to taste, and cook until the onions are soft and very aromatic, about 8 to 10 minutes. Toss in the garlic and cook for 2 to 3 more minutes. Add the wine and cook until it has reduced by half. Stir in the tomatoes, season with salt, to taste, and cook until the tomatoes are really soft and juicy, about 12 to 15 minutes. Toss in the whole basil leaves.
Working in batches, carefully puree the tomatoes in a blender*. Return the tomato puree to the pot and add the tomato juice and the bread. Cook the soup over medium heat for until the bread has completely lost its shape and the soup is really thick, about 20 minutes. Taste the soup and adjust the seasoning, if needed.
Ladle the soup into bowls and serve garnished with grated cheese, basil chiffonade and a drizzle of big fat finishing oil.
When blending hot liquid, first let it cool for five minutes or so, then transfer it to a blender, filling only halfway. Put the lid on, leaving one corner open. Cover the lid with a kitchen towel to catch splatters, and pulse until smooth.