1. Preheat oven to 425°F.
2. Remove whole tomatoes from cans and reserve the juice.
3. Cut each tomato in half and arrange in a roasting pan or baking dish in a single layer.
4. Add garlic cloves to the pan, drizzle with olive oil, and season with black pepper.
5. Roast tomatoes and garlic for 35-40 minutes, until garlic is soft and tomatoes are dense with browned edges.
6. Meanwhile, heat 2 tablespoons olive oil in a large heavy pot over medium heat.
7. Add onions and carrots; cook for about 5 minutes.
8. Lower the heat and cook, stirring occasionally, until onions are very soft and starting to caramelize, about 30 minutes.
9. Stir in tomato paste and cook for 1 minute.
10. Scrape roasted tomatoes and garlic into the pot. Add reserved tomato juice.
11. Stir in 6 cups chicken broth and bring to a simmer.
12. Simmer for about 30 minutes, until carrots are tender and flavors meld.
13. Puree soup with an immersion blender until smooth (or cool slightly and blend in batches in a blender).
14. Add more chicken broth as needed to reach desired consistency.
15. Season with salt and pepper to taste.
16. Serve hot, garnished with crispy bread crumbs and grated Parmesan cheese.