In a large Dutch oven or heavy bottom stockpot, heat the olive oil over medium heat. Add the onions, carrots, and garlic, stirring to coat. Cook for approximately 10 minutes, stirring periodically, until the vegetables are soft and fragrant. Add the ciabatta cubes and cook for an additional 5 minutes until soft.
In a blender or food processor, pulse the tomatoes and all juices from the can until slightly broken down but still textured.
Add the tomatoes, stock, wine, basil, salt and pepper to the soup, stirring to combine. Bring the mixture to a boil and then immediately reduce the heat to low. Simmer, uncovered or partially covered, for 45-60 minutes.
While the soup is simmering, preheat the oven to 375 degrees. Line a large baking sheet with aluminum foil. Place the ciabatta and pancetta on the baking sheet and top with the olive oil. Toss to combine and spread in a single layer. Sprinkle salt and pepper on top and bake for 15-25 minutes, stirring halfway through, until the ingredients are crispy. Set aside.
Use a potato masher to break down the bread in the soup. Remove from the heat and stir in the Parmesan cheese. Add additional salt and pepper to taste if desired.
Serve the soup topped with the bread and pancetta mixture, as well as thinly sliced fresh basil.